it-swarm.asia

Bagaimana cara memeriksa kapan statistik terakhir dieksekusi?

Kami telah mengalami sejumlah masalah dengan indeks kami belakangan ini yang oleh tim DBA kami dikaitkan dengan statistik yang belum dijalankan baru-baru ini. Ini membuat saya bertanya-tanya - bagaimana saya bisa mengecek apakah statistik baru-baru ini diperbarui melalui SQL Management Studio?

Saya minta maaf jika pertanyaan ini tidak menjelaskan dengan sangat baik - Saya hanya diperkenalkan ke statistik sampai sekarang dan sebelum ini akan melihat ke indeks setiap kali saya memiliki masalah terkait kinerja.

Edit:

Saya menggunakan yang berikut ini tetapi menerima kesalahan sintaksis:

use *databasename*
exec sp_autostats *schema.tablename*

Kesalahan yang saya terima adalah:

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

Kenapa ini?

8
Michael A

ntuk hasil edit Anda - Anda harus menyertakan nama tabel menjadi tanda kutip tunggal:

EXEC sp_autostats 'tablename'

dan untuk pertanyaan awal

Pertama - temukan statistik yang ingin Anda periksa:

choose statistics

Kedua - lihat propertinya, dan di sana Anda akan melihat cap waktu yang terakhir diperbarui:

enter image description here

Atau Anda mungkin ingin menjalankan kueri berikut:

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

Cara terbaik untuk mendapatkan informasi tentang statistik adalah melalui perintah

DBCC SHOW_STATISTICS (<tablename>,<indexname>)

Itu akan mengembalikan informasi bukan hanya tentang kapan statistik di mana diperbarui, tetapi ukurannya, kepadatannya, seberapa selektifnya mereka, dan histogram yang menunjukkan distribusi data. Dengan semua itu, Anda dapat menentukan apakah statistik tersebut mutakhir dan efektif.

8
Grant Fritchey