AUTO_UPDATE_STATISTICS

Oopps! Upgrade your browser pretty please. Oopps! Upgrade your browser pretty please.

Eftersom statistik verkar vara ett hett ämne just nu 🙂 … så tänkte jag spinna vidare lite på det temat. Om man har AUTO_UPDATE_STATISTICS påslaget i databasen kommer automatiskt all statistik uppdateras. Detta är bra och smidigt eftersom all statistik automatiskt underhålls men om man av någon anledning har en eller flera tabeller, kolumner eller index där man inte vill uppdatera statistiken automatiskt eller vill uppdatera statistiken med andra värden på t. ex. sample rate än övriga pga att tabellen är väldigt stor eller något annat kan man undanta dessa.

Detta gör man såhär: EXEC SP_AUTOSTATS ‘Tabellnamn’, OFF, ‘Indexnamn’; Ovanstående undantar automatisk uppdatering av statistik på specifikt index i en tabell. Man kan även använda sp_autostats för att visa hur autostats är inställd för all statistik på en specifik tabell. EXEC SP_AUTOSTATS ‘Tabellnamn’; Detta är såklart inte enda sättet att undanta statistik från att bli auto uppdaterad, man kan även använda: CREATE STATISTICS Tabellnamn Statistiknamn WITH NORECOMPUTE; Om man skapar statistiken manuellt. Eller om man redan skapat statistiken: UPDATE STATISTICS Tabellnamn Statistiknamn WITH NORECOMPUTE; Eller ett redan skapat index: ALTER INDEX Indexnamn ON Tabellnamn SET (STATISTICS_NORECOMPUTE = ON); AUTO_UPDATE_STATISTICS är en inställning på databasnivå och för att se hur detta är inställt kan man antingen titta i Management Studio under properties/options eller köra: SELECT is_auto_update_stats_on FROM sys.databases WHERE name = ‘Databasnamn’