it-swarm-eu.dev

Jak zkontrolovat, kdy byla statistika naposledy spuštěna?

V poslední době máme s našimi indexy řadu problémů, které náš tým DBA připsal statistikám, které nebyly spuštěny nedávno. To mě přimělo přemýšlet - jak mohu zkontrolovat, zda statistiky byly nedávno aktualizovány prostřednictvím SQL Management Studio?

Omlouvám se, pokud tato otázka to nevysvětluje velmi dobře - do statistik jsem byl zaveden až dosud a před tím by se indexy dívaly, kdykoli jsem měl problémy s výkonem.

pravit:

Používám následující, ale dostávám chybu syntaxe:

use *databasename*
exec sp_autostats *schema.tablename*

Chyba, kterou dostávám, je:

Msg 102, Level 15, State 1, Line 2
Incorrect syntax near '.'.

Proč je to?

8
Michael A

Pro vaši úprav - Název tabulky musíte uzavřít do jednoduchých uvozovek:

EXEC sp_autostats 'tablename'

a pro původní otázku

Nejprve - najděte statistiky, které chcete zkontrolovat:

choose statistics

Za druhé - podívejte se na jeho vlastnosti a zde uvidíte poslední aktualizované časové razítko:

enter image description here

Nebo možná budete chtít provést následující dotaz:

SELECT t.name TableName, s.[name] StatName, STATS_DATE(t.object_id,s.[stats_id]) LastUpdated 
FROM sys.[stats] AS s
JOIN sys.[tables] AS t
    ON [s].[object_id] = [t].[object_id]
WHERE t.type = 'u'
11
Oleg Dok

Nejlepší způsob, jak získat informace o statistikách, je příkaz

DBCC SHOW_STATISTICS (<tablename>,<indexname>)

To vrátí informace nejen o tom, kdy jsou statistiky aktualizovány, ale o jejich velikosti, hustotě, selektivitě a histogramu, který ukazuje distribuci dat. Díky tomu můžete určit, zda jsou tyto statistiky aktuální a efektivní.

8
Grant Fritchey