Come verificare l'ultima volta che le statistiche sono state eseguite?


9

Ultimamente abbiamo riscontrato una serie di problemi con i nostri indici che il nostro team DBA ha attribuito a statistiche che non sono state eseguite di recente. Questo mi ha fatto meravigliare: come posso verificare se le statistiche sono state recentemente aggiornate tramite SQL Management Studio?

Mi scuso se questa domanda non sta spiegando molto bene: fino ad ora sono stata introdotta alle statistiche e prima di questo guarderei agli indici ogni volta che ho avuto problemi relativi alle prestazioni.

Modifica :

Sto usando il seguente ma ricevendo un errore di sintassi:

use *databasename*
exec sp_autostats *schema.tablename*

L'errore che sto ricevendo è:

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

Perchè è questo?

Risposte:


12

Per la tua modifica , devi racchiudere il nome della tabella tra virgolette singole:

EXEC sp_autostats 'tablename'

e per la domanda originale

Innanzitutto: trova le statistiche che desideri controllare:

scegli statistiche

Secondo: vedi le sue proprietà e lì vedrai l'ultimo timestamp aggiornato:

inserisci qui la descrizione dell'immagine

Oppure potresti voler eseguire la seguente query:

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'

9

Il modo migliore per ottenere informazioni sulle statistiche è tramite il comando

DBCC SHOW_STATISTICS (<tablename>,<indexname>)

Ciò restituirà informazioni non solo su quando le statistiche sono state aggiornate, ma sulle loro dimensioni, densità, quanto sono selettive e l'istogramma che mostra la distribuzione dei dati. Con tutto ciò, puoi determinare se tali statistiche sono aggiornate ed efficaci.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.