Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 23544|Svare: 2

[Kilde] SQL Server ytelsesoptimalisert indeksfragmentering

[Kopier lenke]
Publisert på 27.12.2020 22:32:27 | | | |
Oversikt over indeksfragmentering

Hva er indeksfragmentering og hvorfor jeg bør fokusere på det:
Fragmentering oppstår når den logiske rekkefølgen i indeksen (basert på nøkkelverdien i indeksen) ikke samsvarer med den fysiske rekkefølgen på indekssidene i indekssidene i indeksen på sidene som indeksen inneholder.
Hver gang en innsettings-, oppdaterings- eller slettingsoperasjon utføres på de underliggende dataene, endrer databasemotoren automatisk indeksen. For eksempel kan det å legge til rader i en tabell føre til delte rader for å lagre eksisterende sider i indeksen for å gjøre plass til å sette inn nye nøkler. Over tid kan disse endringene føre til at informasjon i indeksen blir spredt i databasen (som inneholder fragmenter). Fragmentering oppstår når den logiske rekkefølgen (basert på nøkkelverdi) i sidene som indeksen inneholder ikke stemmer overens med den fysiske rekkefølgen i datafilen.
Et stort antall fragmenterte indekser kan redusere spørringsytelsen fordi ytterligere I/O kreves for å finne dataene indeksen peker på. Mer I/O kan gjøre applikasjonen treg til å svare, spesielt når det er skanneoperasjoner involvert.
Sjekk for fragmentering av databaseindekser

Kommando:



Det finnes to måter å defragmentere på: reorganisere og gjenskape indekser; å bygge opp indekser refererer til å slette gamle indekser og bygge nye indekser på nytt i en transaksjon, som gjenerobrer harddiskplassen fra den opprinnelige indeksen og tildeler ny lagringsplass for å lage en indeksstruktur. Reorganisering av indekser refererer til å ikke allokere ny lagringsplass, reorganisere bladnodene i indeksstrukturen basert på det opprinnelige rommet, slik at den logiske og fysiske rekkefølgen på datasidene er konsistente, og frigjøre overflødig plass i indeksen.

Bruk funksjonen sys.dm_db_index_physical_stats for å oppdage graden av fragmentering, felt avg_fragmentation_in_percent prosentandelen logiske fragmenter som returneres, generelt anbefaler Microsoft en terskel på 30 %:

avg_fragmentation_in_percent >5 % og <=30 %: ALTER INDEX REORGANISERER;
avg_fragmentation_in_percent >30 %: ALTER INDEX REBUILD;

avg_fragmentation_in_percent: Indeksfragmenteringsprosent, hvis fragmenteringen er mindre enn 10 %~20 %, er fragmentering sannsynligvis ikke et problem,Hvis indeksfragmenteringen er på 20 %~40 %, kan fragmentering bli et problem, men indeksoppløsning kan elimineres ved indeksreorganisering, og storskala fragmentering (når fragmentering er større enn 40 %) kan kreve indeksrekonstruksjon.


Søk i fragmenteringsinformasjonen for alle indekser i en gitt tabell



Tabellindeksering


Bygg opp indeksen til alle tabeller i hele databasen på nytt



Ressurser:Innloggingen med hyperkoblingen er synlig.




Foregående:Forespørselsformatet gjenkjennes ikke fordi URL-en uventet ender med "/itsvse".
Neste:ORM-rammeverket Dapper er enkelt å bruke
Publisert på 22.09.2021 13:11:22 |
Heldigvis,
 Vert| Publisert på 18.11.2025 14:35:31 |
Hva er sp_updatestats?

Det er en systemlagret prosedyre som er en del av SQL Server-systemet.
Den går gjennom alle brukertabellene i den nåværende databasen og beregner og oppdaterer statistikken for kolonner og indekser hvis data har endret seg siden forrige statistiske oppdatering.
Kommando:
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com