Indeksi fragmentatsiooni ülevaade
Mis on indeksfragmentatsioon ja miks peaksin sellele keskenduma: Fragmentatsioon tekib siis, kui loogiline järjekord indeksis (põhinedes indeksi võtmeväärtusel) ei ühti indeksi lehekülgede füüsilise järjekorraga indeksi lehekülgedel, mida indeks sisaldab. Iga kord, kui aluseks olevatele andmetele tehakse sisestamise, uuendamise või kustutamise operatsioon, muudab andmebaasimootor automaatselt indeksit. Näiteks ridade lisamine tabelisse võib põhjustada jagatud ridade salvestamist olemasolevate lehtede salvestamiseks indeksis, et teha ruumi uute võtmete lisamiseks. Aja jooksul võivad need muudatused põhjustada indeksi info hajumist andmebaasis (mis sisaldab fragmente). Fragmentatsioon tekib siis, kui loogiline järjestus (põhinedes võtmeväärtusel) lehtedel, mida indeks sisaldab, ei ühti andmefaili füüsilise järjekorraga. Suur hulk killustatud indekseid võib päringu jõudlust aeglustada, kuna andmete leidmiseks, millele indeks osutab, on vaja täiendavat I/O-d. Rohkem I/O võib põhjustada rakenduse aeglast reageerimist, eriti kui tegemist on skaneerimisoperatsioonidega.
Kontrolli andmebaasi indeksi fragmentatsiooni
Käsk:
Defragmentimiseks on kaks viisi: indeksite ümberkorraldamine ja taasloomine, indeksite taasloomine tähendab vanade indeksite kustutamist ja uute indeksite uuesti ülesehitamist tehingus, mis võtab tagasi algse indeksi kõvaketta ruumi ja eraldab uue salvestusruumi indeksistruktuuri loomiseks. Indeksite ümberkorraldamine tähendab uue salvestusruumi eraldamata jätmist, indeksistruktuuri lehesõlmede ümberkorraldamist algse ruumi alusel, et andmelehtede loogiline ja füüsiline järjekord oleksid ühtlased, ning vabastatakse indeksis üleliigne ruum.
Kasuta funktsiooni sys.dm_db_index_physical_stats, et tuvastada fragmentatsiooni astet, välja avg_fragmentation_in_percent tagastatud loogiliste fragmentide protsenti; üldiselt soovitab Microsoft lävendit 30%:
avg_fragmentation_in_percent >5% ja <=30%: MUUDA INDEKSIT, REORGANISEERIDA; avg_fragmentation_in_percent >30%: ALTER INDEX REBUILD;
avg_fragmentation_in_percent: Indeksi fragmentatsiooni protsent, kui killustumine on väiksem kui 10%~20%, on killustumine ebatõenäoline, et see probleem on,Kui indeksi fragmentatsioon on 20%~40%, võib fragmentatsioon olla probleemiks, kuid indeksi resolutsiooni saab elimineerida indeksi reorganiseerimisega ning suuremahuline fragmentatsioon (kui fragmentatsioon on üle 40%) võib nõuda indeksi rekonstrueerimist.
Küsi fragmentatsiooniinfot kõigi antud tabeli indeksite kohta
Tabeli ümberindekseerimine
Taasta kõigi tabelite indeks kogu andmebaasis
Ressursse:Hüperlingi sisselogimine on nähtav.
|