Statistiken över index i SQL Server
Om du vill ha total kontroll över hur statistiken uppdateras, måste du använda proceduren uppdatera statistiken uttalande vars syntax är som följer
Uppdatera statistik table_or_indexed_view_name
[
{
Index_or_statistics__name {}
| ({Index_or_statistics_name} [, ... n])
}
]
[MED
[
[FULLSCAN]
| Provnummer {procent | RADER}]
| Resample
|
[... N]
]
[[], [ALLA | KOLUMNER | INDEX]
[[,] NORECOMPUTE]
];
Denna procedur kan du ange olika alternativ
-
FULLSCAN
Beräkna statistik genom att scanna alla rader i tabellen eller indexerade vy.
FULLSCAN och prov 100 procent har samma resultat.
Du kan inte använda FULLSCAN med prov.
-
Provnummer {procent | RADER}
Ungefärlig andel eller antal rader i tabellen eller indexeras för Query Optimizer för att använda när du uppdaterar statistik.
För procent, kan antalet vara mellan 0 och 100 för rader, kan antalet vara mellan 0 och det totala antalet rader.
Den faktiska andel eller antal rader som provtagits av Query Optimizer kanske inte motsvarar den andel eller antal.
Till exempel, analyserar Query Optimizer alla rader i en data sida.
-
PROV
E "användbart för särskilda fall där exekveringsplan, baserade på standard provtagning inte är optimal.
I de flesta situationer är det inte nödvändigt att ange SAMPLE eftersom Query Optimizer använder provtagning.
Detta alternativ kan inte användas när du anger FULLSCAN.
Om du inte anger varken prov eller FULLSCAN använder Query Optimizer samplade data och beräknar urvalets storlek som standard.
Vi rekommenderar inte att ange 0 procent eller rader 0.
Om du anger 0 procent eller rader, är statistiken objektet uppdateras men som inte innehåller statistiken uppgifter.
-
Sampla
Uppdatera varje statistik med hjälp av den senaste provtagningen.
Användningen av resample kan resultera i full-tabellen analys.
För statistik på index som används för analys av ett bord fullt samplingsfrekvens.
Om du inte anger något av alternativen prov, eller prov eller FULLSCAN sampla, frågan proverna Optimizer uppgifterna och beräknar urvalets storlek som standard.
-
ALLA | KOLUMNER | INDEX
Uppdatera alla befintlig statistik, statistik skapas i en eller flera kolumner eller statistik skapas för index.
Om du inte anger några alternativ, uppdaterar uppdatera statistiken uttalande all statistik på bordet eller indexerade vy.
-
NORECOMPUTE
Inaktivera automatiska uppdateringar av statistiken AUTO_UPDATE_STATISTICS för statistik.
Om detta alternativ är specificerat, avslutar optimeringsfunktionen uppdateringen av denna statistik och inaktiverar framtida uppdateringar.
För att återaktivera beteende AUTO_UPDATE_STATISTICS, återutgivning uppdatera statistiken utan NORECOMPUTE alternativet eller kör sp_autostats.
Utöver dessa lösningar är också möjligt att definiera en uppdatering av index i en underhållsplan (plan underhåll) av databasen, men det är sannolikt att vi kommer se i en framtida artikel.