DTA Merekomendasikan untuk MENCIPTAKAN STATISTIK

10

Saya baru saja menjalankan kueri T-SQL melalui DTA dan salah satu rekomendasinya adalah MENCIPTAKAN STATISTIK pada salah satu kolom yang merupakan bagian dari banyak kueri dalam file kode SQL.

Pertanyaan saya adalah, bagaimana tepatnya statistik membantu dalam kinerja?


sumber

Jawaban:

7

statistik digunakan ketika rencana eksekusi permintaan dibuat.

Statistik untuk optimasi kueri adalah objek yang berisi informasi statistik tentang distribusi nilai dalam satu atau beberapa kolom tabel atau tampilan yang diindeks. Pengoptimal kueri menggunakan statistik ini untuk memperkirakan kardinalitas, atau jumlah baris, dalam hasil kueri. Perkiraan kardinalitas ini memungkinkan pengoptimal permintaan untuk membuat rencana permintaan berkualitas tinggi. Misalnya, pengoptimal kueri dapat menggunakan perkiraan kardinalitas untuk memilih operator pencarian indeks daripada operator pemindaian indeks yang lebih intensif sumber daya, dan dengan demikian meningkatkan kinerja permintaan.

Lihat http://msdn.microsoft.com/en-us/library/ms190397.aspx untuk detail lebih lanjut.

Alex_L
sumber
1
tautan dan deskripsi yang bagus. Apakah selalu bermanfaat untuk membuat statistik pada tabel yang sering ditanyakan?
Thomas Stringer
ya, kita harus yakin bahwa statistik untuk tabel yang paling mudah dibaca selalu memadai. Jika tabel Anda padat-tulis, Anda mungkin perlu memperbarui statistik, misalnya, setiap malam.
Alex_L
2
@ Surfer513 - hati-hati: membuat statistik dapat memiliki efek yang merugikan. Informasi yang lebih baik yang Anda berikan kepada perencana dapat membuatnya memilih jalur eksekusi yang berbeda dan karena ini adalah permainan probabilitas, ada kemungkinan bahwa jalur ini akan lebih lambat (bahkan jika itu kemungkinan akan lebih cepat pada umumnya). Dengan kata lain, pada basis data produksi, uji sebelum Anda menerapkan.
Jack bilang coba topanswers.xyz
7

Jika DTA merekomendasikan statistik satu kolom, Anda harus mematikan statistik pembuatan otomatis? Pembuatan otomatis akan membuat statistik pada kolom apa pun yang digunakan dalam predikat, secara otomatis, sehingga umumnya merupakan ide bagus untuk membiarkannya diaktifkan. Periksa status pembaruan otomatis untuk basis data ini, yang biasanya seharusnya lagi aktif.

Salah satu penggunaan terbaik DTA adalah untuk mengidentifikasi statistik multi-kolom yang hilang, yang tidak dapat dibuat oleh auto. Tetapi untuk satu kolom, pembuatan otomatis harus mengurusnya untuk Anda.

Mark Storey-Smith
sumber