sql >> Database teknologi >  >> RDS >> Sqlserver

Hvorfor er disse SQL Server-statistikker forældede, når de er indstillet til automatisk opdatering?

Selvom du indstiller statistikken for automatisk opdatering til sand, opdateres de kun, når en tærskel er nået. Dette er forskelligt for forskellige versioner

Tærskler for SQL Server 2012 eller ældre:

  1. Tabelstørrelsen er gået fra 0 til> 0 rækker

  2. Antallet af rækker i tabellen, da statistikken blev indsamlet, var 500 eller mindre, og colmodctr i den forreste kolonne i statistikobjektet er ændret med mere end 500 siden da

  3. Tabellen havde mere end 500 rækker, da statistikken blev indsamlet, og colmodctr i den forreste kolonne i statistikobjektet er ændret med mere end 500 + 20 % af antallet af rækker i tabellen, da statistikken blev indsamlet

For SQLServer 2016 er der få større ændringer og SQL-opdateringsstatistikker med en ny algoritme (læs som hyppigere end gamle versioner)

Normalt planlægger folk vedligeholdelsesjob i weekenden, og dette inkluderer indeksgenopbygning/statistikopdatering..

Dette bør normalt tage sig af de fleste databaser. I dit tilfælde, hvis du ser ydeevneproblemer på grund af ugyldig statistik, kan du opdatere dem manuelt. Vi gør det en gang om ugen, men websteder som StackOverflow gør det oftere

update stats tablename

Yderligere læsning/referencer:
Statistik brugt af Query Optimizer i Microsoft SQL Server 2008
Forstå, hvornår statistikker opdateres automatisk




  1. PostgreSQL-konfigurationssnydeark

  2. SQL Server 2000 - Sammenkædet server

  3. Sådan importeres Room Persistence Library til et Android-projekt

  4. underforespørgsel (forkerte argumenter til MOD) ved hjælp af Mysql