Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 23544|Svar: 2

[Källa] SQL Server prestandaoptimerad indexfragmentering

[Kopiera länk]
Publicerad på 2020-12-27 22:32:27 | | | |
Översikt över indexfragmentering

Vad är indexfragmentering och varför jag bör fokusera på det:
Fragmentering uppstår när den logiska ordningen i indexet (baserat på nyckelvärdet i indexet) inte stämmer överens med den fysiska ordningen på indexsidorna i indexsidorna på indexet på de sidor som indexet innehåller.
När en insättnings-, uppdaterings- eller borttagningsoperation utförs på den underliggande datan modifierar databasmotorn automatiskt indexet. Till exempel kan tillägg av rader i en tabell leda till delade rader för att lagra befintliga sidor i indexet och ge plats åt att infoga nya nycklar. Med tiden kan dessa ändringar göra att information i indexet sprids i databasen (som innehåller fragment). Fragmentering uppstår när den logiska ordningen (baserat på nyckelvärde) i sidorna som indexet innehåller inte stämmer överens med den fysiska ordningen i datafilen.
Ett stort antal fragmenterade index kan sakta ner frågeprestandan eftersom ytterligare I/O krävs för att hitta den data som indexet pekar på. Mer I/O kan göra att applikationen blir långsam att svara, särskilt när skanningsoperationer är inblandade.
Kontrollera för fragmentering av databasindex

Befallning:



Det finns två sätt att defragmentera: omorganisera och återskapa index, att bygga om index innebär att ta bort gamla index och bygga om nya index i en transaktion, vilket återtar hårddiskutrymmet från det ursprungliga indexet och tilldelar nytt lagringsutrymme för att skapa en indexstruktur. Omorganisering av index avser att inte allokera nytt lagringsutrymme, omorganisera bladnoderna i indexstrukturen baserat på det ursprungliga utrymmet, så att den logiska ordningen och den fysiska ordningen på datasidorna är konsekventa, och frigöra överskottsutrymmet i indexet.

Använd funktionen sys.dm_db_index_physical_stats för att upptäcka graden av fragmentering, fält avg_fragmentation_in_percent procentandelen logiska fragment som returneras, generellt rekommenderar Microsoft en tröskel på 30 %:

avg_fragmentation_in_percent >5 % och <=30 %: ALTER INDEX OMORGANISERAS;
avg_fragmentation_in_percent >30%: ALTER INDEX REBUILD;

avg_fragmentation_in_percent: Indexfragmenteringsprocent, om fragmenteringen är mindre än 10%~20%, är fragmentering sannolikt inte ett problem,Om indexfragmenteringen är 20 % ~40 %, kan fragmentering bli ett problem, men indexupplösning kan elimineras genom indexreorganisation, och storskalig fragmentering (när fragmenteringen är större än 40%) kan kräva indexrekonstruktion.


Sök fragmenteringsinformationen för alla index i en given tabell



Tabellomindexering


Bygg om indexet för alla tabeller i hela databasen



Resurser:Inloggningen med hyperlänken är synlig.




Föregående:Förfrågningsformatet känns inte igen eftersom URL:en oväntat slutar på "/itsvse".
Nästa:ORM-ramverket Dapper är enkelt att använda
Publicerad på 2021-09-22 13:11:22 |
Tur att det är,
 Hyresvärd| Publicerad på 2025-11-18 14:35:31 |
Vad är sp_updatestats?

Det är en systemlagrad procedur som ingår i SQL Server-systemet.
Den går igenom alla användartabeller i den aktuella databasen och beräknar och uppdaterar statistiken för kolumner och index vars data har ändrats sedan den senaste statistiska uppdateringen.
Befallning:
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com