it-swarm-eu.dev

Kdy aktualizovat statistiky?

Zdědil jsem plány údržby, které provádějí následující akce:

  • Vyčištění starých dat
  • Kontroluje integritu DB
  • Provádí zálohování databází a transakčních protokolů
  • Reorganizuje naše indexy
  • Aktualizace statistik
  • Odstraňte staré zálohy a soubory plánu údržby

Z 23minutového plánu údržby trvá aktualizace statistik ohromujících 13 minut. Během této 13minutové periody je přístup k databázi blokován (nebo je alespoň pozastavena replikace z této databáze do ostatních).

Moje otázka je:

Kdy bychom měli aktualizovat statistiku a proč?

Vypadá to, že bychom měli dělat věci méně často než každý den. Snažím se dostat nás z „jen proto, že“ myslíme na zbytečnou údržbu.

44
Onion-Knight

Pokud pro to nemáte okno údržby, aktualizace statistik denně je pravděpodobně trochu nadměrná. Zejména pokud máte zapnutou statistiku automatické aktualizace pro databázi. Ve svém původním příspěvku jste uvedli, že uživatelé viděli snížení výkonu kvůli tomuto plánu údržby. Není čas na spuštění tohoto plánu údržby? Žádné jiné okno? Vidím, že váš plán zahrnuje reorganizaci indexů, kdy znovu vytváříte indexy? Když tato operace nastane, statistika se automaticky aktualizuje (za předpokladu, že pro index není vypnuta).

Přesně, jak často byste měli aktualizovat statistiky, do značné míry záleží na tom, kolik změn dat vaše indexy a data přijímají . Pokud existuje velmi malá změna (INSERT, UPDATE, DELETE) dat, pak byste mohli mít méně častý plán pro aktualizaci statistické úlohy.

Jedním ze způsobů, jak zjistit, zda jsou vaše statistiky zastaralé, je podívat se na prováděcí plány a pokud se odhadované řádky výrazně liší od skutečných vrácených řádků, je to dobrá indikace, že interval musí být zvýšen. Ve vašem případě jdete opačně a trochu zkušebního období může být v pořádku. Aktualizujte statistiku každý týden, a pokud začínáte vidět oznamovací znaky zastaralých statistik, pak jděte odtamtud.

Pokud používáte automatickou statistiku aktualizací pro svou databázi, viz tento odkaz pro prahovou hodnotu aktualizace statistik.

28
Thomas Stringer

Kdy aktualizovat statistiky?

kdy a pouze pokud funkce automatické aktualizace statistik není pro vaše požadavky dost dobrá. Mám na mysli, pokud automatické vytváření a automatické aktualizace statistiky jsou zapnuté a máte špatný plán dotazů, protože statistiky nejsou přesné nebo aktuální, pak by mohlo být dobré mít kontrolu nad vytvářením a aktualizací statistik. ale pokud jste v pořádku s výkonem serveru SQL a časy provedení dotazu.

pak navrhuji zastavení aktualizace Statistiky příkazu z Plány údržby

aktualizace statistik je důležitá a užitečná 1. umožňuje optimalizátoru dotazů serveru SQL Server konzistentně vytvářet dobré plány dotazů při zachování nízkých nákladů na vývoj a správu 2. Statistiky jsou používá optimalizátor dotazů k odhadu selektivity výrazů, a tedy velikosti mezilehlých a konečných výsledků dotazu. 3. Dobrá statistika umožňuje optimalizátoru přesně posoudit náklady na různé plány dotazů a poté zvolit kvalitní plán


Pokud chcete aktualizovat statistiku ručně, měli byste nejprve vědět , kdy se statistika aktualizuje automaticky

Pokud optimalizátor dotazů serveru SQL vyžaduje statistiky pro konkrétní sloupec v tabulce, která prošla významnou aktualizační aktivitou od posledního vytvoření nebo aktualizace statistik, SQL Server automaticky aktualizuje statistiku vzorkováním hodnot sloupců (pomocí statistik automatické aktualizace). . Automatická aktualizace statistik je spuštěna optimalizací dotazu nebo provedením kompilovaného plánu a zahrnuje pouze podmnožinu sloupců uvedených v dotazu. Statistiky jsou aktualizovány před kompilací dotazu, pokud je AUTO_UPDATE_STATISTCS_ASYNC vypnutá

zde jsou pěkné články, které hovoří o tom, kdy se na serveru SQL spustí statistika aktualizací

  1. od simple-talk Část 13. Kdy je spuštěna automatická aktualizace statistik?
  2. support.Microsoft Sekce: Automatizace určování autostatů
  3. msdn.Microsoft sekce: Údržba statistik v SQL Server 2008

poté, co víte, kdy je statistika spuštěna, vám pomůže rozhodnout, kdy aktualizovat statistiky ručně

chcete-li se dozvědět více o statistice a jejím vlivu na výkonnost, doporučuji BrentOzar a Kimberly in sqlskills velmi dobré blogy a bloggery.

26
AmmarR