Statistikken på indekser i SQL Server
Hvis du ønsker at have total kontrol over, hvordan statistikken er opdateret, skal du bruge den procedure, opdatere statistikkerne oversigt, hvis syntaks er som følger
UPDATE STATISTIK table_or_indexed_view_name
[
{
Index_or_statistics__name {}
| ({Index_or_statistics_name} [, ... n])
}
]
[MED
[
[FULLSCAN]
| Prøve nummer {procent | RÆKKER}]
| Resample
|
[, ... N]
]
[[], [ALLE | KOLONNER | INDEX]
[[,] NORECOMPUTE]
];
Denne procedure giver dig mulighed for at specificere forskellige muligheder
-
FULLSCAN
Beregn statistik ved at scanne alle rækker i tabellen eller indekseret visning.
FULLSCAN og Sample 100 procent har de samme resultater.
Du kan ikke bruge FULLSCAN med prøve.
-
Prøve nummer {procent | RÆKKER}
Omtrentlige procentdel eller antal rækker i tabellen eller indekseres se query optimizer at bruge, når opdatering af statistik.
For procent, kan antallet være mellem 0 og 100 for rækker, kan antallet være mellem 0 og det samlede antal rækker.
Det faktiske procentdel eller antal rækker prøver af forespørgslen optimizer måske ikke svarer til den procentdel eller antal.
For eksempel, analyser forespørgslen optimizer alle rækker i en data side.
-
SAMPLE
E 'nyttigt for særlige tilfælde, hvor udførelsen, som er baseret på standard prøvetagning ikke er optimal.
I de fleste situationer er det ikke nødvendigt at specificere SAMPLE fordi forespørgslen optimizer bruger prøveudtagning.
Denne mulighed kan ikke bruges, når du angiver FULLSCAN.
Hvis du ikke angiver hverken SAMPLE eller FULLSCAN, forespørgslen Optimizer bruger indsamlede data og beregner den stikprøvestørrelse som standard.
Vi anbefaler ikke at angive 0 procent eller RÆKKER 0.
Hvis du angiver 0 procent eller rækker, er statistikken objektet opdateret, men indeholder ikke statistikdata.
-
Resample
Opdater hver statistik ved hjælp af den seneste prøveudtagning.
Brugen af resample kan resultere i fuld-table analyse.
For statistikker over indekser som er anvendt til analyse af et bord fyldt samplingfrekvens.
Hvis du ikke angiver nogen af de muligheder prøven, eller prøve, eller FULLSCAN resample, forespørgslen optimizer prøver data og beregner den stikprøvestørrelse som standard.
-
ALLE | KOLONNER | INDEX
Opdatere alle eksisterende statistikker, statistikker er oprettet i et eller flere kolonner eller statistik skabt til indekser.
Hvis du ikke angiver nogen muligheder, de opdatere statistikkerne erklæring opdaterer alle de statistikker på bordet eller indekseret visning.
-
NORECOMPUTE
Deaktivere den automatiske opdateringer af statistik AUTO_UPDATE_STATISTICS for statistik.
Hvis denne indstilling er angivet, optimizer fuldender opdatering af disse statistikker og deaktiverer fremtidige opdateringer.
For at genaktivere adfærd AUTO_UPDATE_STATISTICS, genudstedelse opdatere statistikkerne uden NORECOMPUTE option eller køre sp_autostats.
Ud over disse løsninger er også muligt at definere opdatering af indekser i en vedligeholdelsesplan (plan vedligeholdelse) af databasen, men det er sandsynligt, at vi vil se i nogle kommende artikel.