Statističkih podataka o indeksima na SQL Server
Ako želite imati potpunu kontrolu kako statistike ažuriraju, morate koristiti postupak UPDATE STATISTIKA izjave čije je sintaksa je sljedeća
UPDATE STATISTIKA table_or_indexed_view_name
[
{
Index_or_statistics__name {}
| ({Index_or_statistics_name} [, ... n])
}
]
[S
[
[FULLSCAN]
| Uzorak broj {PERCENT | ROWS}]
| RESAMPLE
|
[, ... N]
]
[[], [ALL | Kolumne | Index]
[[,] NORECOMPUTE]
];
Ovaj postupak vam omogućuje da odredite različite opcije
-
FULLSCAN
Izračunaj statistiku skeniranja sve retke u tablici ili indeksirani pogled.
FULLSCAN i uzorak 100 posto imaju iste rezultate.
Ne možete koristiti FULLSCAN s uzorkom.
-
Uzorak broj {PERCENT | ROWS}
Približan postotak ili broj redaka u tablici ili pogledu indeksirani upit optimizer za korištenje kada ažuriranja statistike.
Za posto, broj može biti između 0 i 100 za retke, broj može biti između 0 i ukupan broj redaka.
Stvarni postotak ili broj redaka uzoraka od strane upit optimizer ne moraju odgovarati postotak ili broj.
Na primjer, upit optimizator analizira sve retke u podatkovnoj stranici.
-
UZORAK
E 'korisno za posebne slučajeve gdje je izvršenje plana, na temelju zadanog uzorka nije optimalno.
U većini slučajeva, nije potrebno navesti uzorka jer upit optimizator koristi uzorkovanja.
Ova opcija ne može se koristiti prilikom određivanja FULLSCAN.
Ako ne navedete niti UZORAK ni FULLSCAN, upit optimizator koristi uzorkovani podatke i izračunava veličinu uzorka po defaultu.
Ne preporučamo odrediti 0 posto ili retke 0.
Ako specificirate 0 posto ili redaka, statistike objekt je obnovljeno, ali ne sadrži statistike.
-
RESAMPLE
Ažuriranje svaku statistiku koristeći najnoviju uzorkovanja.
Korištenje RESAMPLE svibanj rezultat u punoj stol analize.
Za statistiku o indeksima kao što se koristi za analizu tablice pune sample rate.
Ako ne odredite bilo mogućnosti uzorka, ili uzorak, ili FULLSCAN RESAMPLE, optimizator upita uzoraka podatke i izračunava veličinu uzorka po defaultu.
-
SVI | Kolumne | index
Update sve postojeće statistike, statistike stvorio u jednom ili više stupaca ili statistike stvoren za indekse.
Ako ne navedete sve mogućnosti, izjava UPDATE STATISTIKA ažurira sve statistike na stolu ili indeksirani pogled.
-
NORECOMPUTE
Onemogući automatsko ažuriranje statistike AUTO_UPDATE_STATISTICS za statistiku.
Ako je ova opcija nije navedena, optimizator završi ažuriranje ovih statističkih podataka i onemogućuje buduće nadogradnje.
Za ponovno omogućili ponašanje AUTO_UPDATE_STATISTICS, ponovno izdavanje UPDATE STATISTIKA bez NORECOMPUTE opciju ili pokrenuti sp_autostats.
Osim ovih rješenja je također moguće definirati ažuriranje indeksa u planu održavanja (plan održavanja) baze podataka, ali to je vjerojatno ćemo vidjeti u nekom budućem članku.