Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Artikel ini menjelaskan cara membandingkan kesamaan dan perbedaan antara rencana eksekusi grafis aktual dengan menggunakan fitur Perbandingan Paket SQL Server Management Studio. Fitur ini tersedia dimulai dengan SQL Server Management Studio v16.
Catatan
Rencana eksekusi aktual dihasilkan setelah kueri atau batch Transact-SQL dijalankan. Karena itu, rencana eksekusi aktual berisi informasi runtime, seperti jumlah baris aktual, metrik penggunaan sumber daya, dan peringatan runtime (jika ada). Untuk informasi selengkapnya, lihat Menampilkan rencana eksekusi aktual.
Kemampuan untuk membandingkan rencana adalah sesuatu yang mungkin harus dilakukan oleh profesional database karena alasan pemecahan masalah:
- Pelajari mengapa kueri atau batch tiba-tiba menjadi lambat.
- Pahami efek penulisan ulang kueri.
- Amati bagaimana perubahan peningkatan performa tertentu yang diperkenalkan pada desain skema (seperti indeks baru) telah secara efektif mengubah rencana eksekusi.
Opsi menu Perbandingan Paket memungkinkan perbandingan berdampingan dari dua rencana eksekusi yang berbeda, untuk identifikasi kesamaan dan perubahan yang lebih mudah yang menjelaskan perilaku yang berbeda karena semua alasan yang dinyatakan sebelumnya. Opsi ini dapat membandingkan antara:
- Dua file rencana eksekusi yang disimpan sebelumnya (ekstensi.sqlplan ).
- Satu rencana eksekusi aktif dan satu rencana eksekusi kueri yang disimpan sebelumnya.
- Dua paket kueri dipilih di Penyimpanan Kueri.
Tip
Pembandingan Rencana berfungsi dengan file .sqlplan apa pun, bahkan dari versi SQL Server yang lebih lama. Selain itu, opsi ini memungkinkan perbandingan offline, sehingga tidak perlu terhubung ke instans SQL Server.
Ketika dua rencana eksekusi dibandingkan, wilayah rencana yang pada dasarnya sama disorot dalam warna dan pola yang sama. Memilih wilayah berwarna dalam satu paket akan memusatkan paket lain pada simpul yang cocok dalam paket tersebut. Anda masih dapat membandingkan operator dan simpul rencana eksekusi yang tidak cocok, tetapi dalam hal ini Anda harus memilih operator yang akan dibandingkan secara manual.
Penting
Hanya simpul yang dianggap mengubah bentuk rencana dipakai untuk memeriksa kesamaan. Oleh karena itu, mungkin ada simpul yang tidak berwarna, di tengah dua simpul yang berada di subbagian rencana yang sama. Kurangnya warna dalam hal ini menyiratkan bahwa simpul tidak dipertimbangkan saat memeriksa apakah bagian sama.
Membandingkan rencana eksekusi
Buka file rencana eksekusi kueri yang disimpan sebelumnya (
.sqlplan) menggunakan menu File dan pilih Buka File, atau seret file paket ke jendela Management Studio. Atau, jika Anda baru saja menjalankan kueri dan memilih untuk menampilkan rencana eksekusinya, pindahkan ke tab Rencana Eksekusi di panel hasil.Klik kanan di area kosong dari rencana eksekusi dan pilih Bandingkan Showplan.
Pilih file rencana kueri kedua yang ingin Anda bandingkan. File kedua terbuka sehingga Anda dapat membandingkan paket.
Paket yang dibandingkan membuka jendela baru, secara default dengan satu di atas dan satu di bagian bawah. Pilihan default adalah kemunculan pertama operator atau simpul yang umum dalam paket yang dibandingkan, tetapi menunjukkan perbedaan antara paket. Semua operator dan node yang disorot ada di kedua paket yang dibandingkan. Memilih operator yang disorot di paket atas atau kiri secara otomatis memilih operator yang sesuai di paket bawah atau kanan. Memilih operator simpul akar di salah satu paket yang dibandingkan (
SELECTsimpul dalam gambar berikut) juga memilih operator simpul akar masing-masing dalam paket perbandingan lainnya.Tip
Anda dapat mengalihkan tampilan perbandingan rencana eksekusi ke berdampingan dengan mengklik kanan area kosong dari rencana eksekusi dan memilih Alihkan Orientasi Pemisah.
Semua opsi pembesaran dan navigasi yang tersedia untuk rencana pelaksanaan berfungsi dalam mode perbandingan rencana. Untuk informasi selengkapnya, lihat Menampilkan rencana eksekusi aktual.
Jendela properti ganda juga terbuka di sisi kanan, sesuai dengan cakupan pilihan default. Properti yang ada di kedua operator yang dibandingkan tetapi memiliki perbedaan, didahului oleh tanda tidak sama dengan (≠) untuk identifikasi yang lebih mudah.
Jendela navigasi perbandingan Analisis Showplan juga terbuka di bagian bawah. Tiga tab tersedia:
Di tab Opsi Pernyataan, pilihan default adalah Sorot operasi serupa, dan operator atau simpul yang disorot yang sama dalam rencana yang dibandingkan memiliki warna dan pola garis yang sama. Navigasikan antara area serupa dalam rencana yang dibandingkan dengan memilih pola kapur. Anda juga dapat memilih untuk menyoroti perbedaan dalam rencana daripada kesamaan dengan memilih Sorot operasi yang tidak cocok dengan segmen serupa.
Catatan
Secara default, nama database diabaikan saat membandingkan rencana untuk memungkinkan perbandingan rencana yang diambil untuk database yang memiliki nama yang berbeda, tetapi berbagi skema yang sama. Misalnya, saat membandingkan rencana dari database
ProdDBdanTestDB. Perilaku ini dapat diubah dengan opsi Abaikan nama database saat membandingkan operator.Tab Multi Statement berguna saat membandingkan rencana dengan beberapa pernyataan, dengan memungkinkan perbandingan pasangan pernyataan yang tepat.
Di tab Skenario , Anda dapat menemukan analisis otomatis dari beberapa aspek yang paling relevan untuk dilihat dalam apa yang terkait dengan perbedaan Estimasi Kardinalitas (SQL Server) dalam rencana yang dibandingkan. Untuk setiap operator yang tercantum di panel kiri, panel kanan memperlihatkan detail tentang skenario di tautan Pilih di sini untuk informasi selengkapnya tentang skenario ini , dan kemungkinan alasan untuk menjelaskan skenario tersebut tercantum.
Jika jendela ini ditutup, klik kanan pada area kosong dari paket yang dibandingkan, dan pilih Tampilkan Opsi Bandingkan untuk membuka kembali.
Membandingkan rencana eksekusi di Penyimpanan Kueri
Dalam Query Store, identifikasi kueri yang memiliki lebih dari satu rencana pelaksanaan. Untuk informasi selengkapnya tentang skenario Penyimpanan Kueri, lihat Skenario Penggunaan Penyimpanan Kueri.
Gunakan kombinasi tombol Shift dan mouse Anda untuk memilih dua paket untuk kueri yang sama.
Gunakan tombol Bandingkan rencana untuk kueri select di jendela terpisah untuk memulai perbandingan rencana. Langkah 4 hingga langkah 6 dari Untuk membandingkan rencana eksekusi dapat diterapkan.