sql >> Database >  >> RDS >> Sqlserver

Waarom zijn deze SQL Server-statistieken verouderd als deze is ingesteld op automatisch bijwerken?

Ook al zet je statistieken voor automatisch bijwerken op 'true', ze worden alleen bijgewerkt wanneer een drempel is bereikt. Dit is voor verschillende versies verschillend

Drempels voor SQL Server 2012 of ouder:

  1. De tabelgrootte is van 0 naar> 0 rijen gegaan

  2. Het aantal rijen in de tabel toen de statistieken werden verzameld was 500 of minder, en de colmodctr van de leidende kolom van het statistiekobject is sindsdien met meer dan 500 veranderd

  3. De tabel had meer dan 500 rijen toen de statistieken werden verzameld, en de colmodctr van de leidende kolom van het statistiekobject is veranderd met meer dan 500 + 20% van het aantal rijen in de tabel toen de statistieken werden verzameld

Voor SQLServer 2016 zijn er weinig grote wijzigingen en SQL Updates-statistieken met een nieuw algoritme (lees vaker dan oude versies)

Normaal gesproken plannen mensen onderhoudstaken in het weekend en dit omvat het opnieuw opbouwen van de index/statistieken update..

Dit zou normaal gesproken voor de meeste databases moeten zorgen. Als u prestatieproblemen ondervindt als gevolg van ongeldige statistieken, kunt u deze handmatig bijwerken. We doen het een keer per week, maar sites zoals StackOverflow doen het vaker

update stats tablename

Verdere lectuur/referenties:
Statistieken gebruikt door de Query Optimizer in Microsoft SQL Server 2008
Begrijpen wanneer statistieken automatisch worden bijgewerkt




  1. MySQL GROUP_CONCAT:De uitvoer formatteren

  2. Spark-dataframe schrijven naar postgres-database

  3. hoe maak je een dubbele while-lus in sql-server 2008

  4. Aanmelden bij SQL Server 2008 database-engine mislukt voor beheerdergebruiker in Windows 7