Menemukan kueri menyebabkan DMV indeks hilang

Jawaban:

11

Jawaban singkat: Anda tidak dapat dengan akurasi 100%.

Jawaban panjang: Anda dapat meminta cache rencana untuk mengidentifikasi rencana dengan peringatan indeks yang hilang dan membandingkan hasilnya dengan apa yang Anda temukan di sys.dm_db_missing_index_ * DMVs. Berikut ini skrip yang dapat Anda gunakan untuk menanyakan cache rencana . Jika paket tidak di-cache atau didorong keluar dari cache karena alasan apa pun, Anda tidak akan menemukan kecocokan, jadi kami kembali ke jawaban singkat.

Agar 100% yakin, Anda harus melacak beban kerja dan menangkap paket dengan indeks yang hilang. Ini tidak ringan dan tidak sepele. Berikut ini skrip untuk melakukannya . Dengan sedikit usaha, itu bisa dipindahkan ke Extended Events.

spaghettidba
sumber
3

Meminta cache rencana untuk mencari indeks yang terlibat dalam perhitungan untuk menemukan indeks yang hilang, DMV dapat dilihat dari tautan yang ditempel di bawah ini:

https://www.sqlskills.com/blogs/jonathan/finding-what-queries-in-the-plan-cache-use-a-specific-index/

dan lihat tautan juga untuk penjelasan lebih lanjut tentang hal yang sama

http://blogs.lessthandot.com/index.php/datamgmt/dbadmin/sql-server-dba-tip-missing-index-dmv/

KASQLDBA
sumber