it-swarm.com.de

Wie überprüfe ich, wann die Statistik zuletzt ausgeführt wurde?

Wir hatten in letzter Zeit eine Reihe von Problemen mit unseren Indizes, die unser DBA-Team auf Statistiken zurückgeführt hat, die in letzter Zeit nicht ausgeführt wurden. Ich habe mich gefragt, wie ich überprüfen kann, ob Statistiken kürzlich über SQL Management Studio aktualisiert wurden.

Ich entschuldige mich, wenn diese Frage dies nicht sehr gut erklärt. Ich wurde bisher nur mit Statistiken vertraut gemacht und habe mich zuvor mit Indizes befasst, wenn ich leistungsbezogene Probleme hatte.

Bearbeiten:

Ich verwende Folgendes, erhalte jedoch einen Syntaxfehler:

use *databasename*
exec sp_autostats *schema.tablename*

Der Fehler, den ich erhalte, ist:

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

Warum ist das?

8
Michael A

Für Ihre Bearbeitung - Sie müssen den Tabellennamen in einfache Anführungszeichen setzen:

EXEC sp_autostats 'tablename'

nd für die ursprüngliche Frage

Suchen Sie zuerst die Statistiken, die Sie überprüfen möchten:

choose statistics

Zweitens - sehen Sie sich seine Eigenschaften an und dort sehen Sie den zuletzt aktualisierten Zeitstempel:

enter image description here

Oder Sie möchten möglicherweise die folgende Abfrage ausführen:

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

Der beste Weg, um Informationen über Statistiken zu erhalten, ist über den Befehl

DBCC SHOW_STATISTICS (<tablename>,<indexname>)

Dadurch werden nicht nur Informationen darüber zurückgegeben, wann die Statistiken aktualisiert wurden, sondern auch deren Größe, Dichte, Selektivität und das Histogramm, das die Verteilung der Daten anzeigt. Mit all dem können Sie feststellen, ob diese Statistiken aktuell und effektiv sind.

8
Grant Fritchey