Topik ini memperkenalkan informasi dasar tentang halaman SQL Insights, termasuk statistik SQL, pemantauan kinerja, analisis permintaan tingkat penyewa, dan daftar SQL.
Statistik Kluster
Di tab Statistics, Anda dapat melihat jumlah SQL mencurigakan dan SlowSQL di kluster saat ini, serta jumlah yang sesuai untuk setiap penyewa. Klik nama penyewa untuk menampilkan detail diagnostiknya di bagian bawah halaman SQL Insights.

Pemantauan Kinerja Kluster
Di tab Performance Monitoring, Anda dapat melihat kinerja SQL dari kluster.

Analisis Permintaan Penyewa
Klik tombol View Request Analysis di bagian tengah halaman untuk melihat Distribution of Elapsed Time dan Request Statistics List.
Pemantauan Kinerja Penyewa
Klik View Performance Monitoring di bagian tengah halaman untuk melihat data pemantauan kinerja penyewa.
Penyewa informasi diagnostik
Anda dapat memilih penyewa dari daftar drop-down Tenant dan melihat informasi diagnostik tentang TopSQL, SlowSQL, SQL Mencurigakan, SQL Berisiko Tinggi, dan SQL Baru untuk penyewa tersebut. Anda juga dapat melakukan operasi berikut:
Saat ini, sistem memiliki batasan berikut pada instans kluster Edisi Standar (Key-Value):
Untuk instans kluster KV dengan nomor versi lebih besar atau sama dengan 4.2.4 tetapi kurang dari 4.3.0, informasi diagnostik TopSQL dan SlowSQL dapat ditampilkan.
Untuk instans kluster KV versi lainnya, hanya informasi diagnostik SlowSQL yang dapat ditampilkan.
Filter informasi diagnostik SQL berdasarkan Database, Node, Duration, SQL ID, SQL Text, atau Quick Filter.
Opsi Duration memungkinkan Anda melihat data untuk 5 menit terakhir, 15 menit terakhir, 30 menit terakhir, satu jam terakhir, 3 jam terakhir, dan 6 jam terakhir. Anda juga dapat menyesuaikan durasi, tetapi perhatikan batasan berikut:
Batas Rentang Maksimum: Rentang waktu yang dipilih tidak boleh melebihi 24 jam.
Batas Rentang Minimum:
Untuk data dalam 3 hari: Rentang waktu yang dipilih harus minimal 1 menit.
Untuk data dari 3 hingga 7 hari: Rentang waktu yang dipilih harus minimal 5 menit.
Untuk data lebih dari 7 hari: Rentang waktu yang dipilih harus minimal 20 menit.
Opsi Quick Filter mendukung Full Table Scan, Multi-partition Scan, Multiple Remote Executions, Hard Parsing, Error Executions, dan Retry Executions.
Jika filter default tidak memenuhi kebutuhan Anda, klik Add untuk menambahkan kondisi tambahan.
Klik ikon
di kolom untuk mengurutkan daftar berdasarkan kolom tersebut.Klik
untuk memilih kolom yang akan ditampilkan dalam daftar.Klik
untuk mengunduh daftar.Klik pernyataan SQL untuk masuk ke halaman detailnya. Di halaman Overview, Anda dapat melihat teks SQL, rencana eksekusi fisik, riwayat eksekusi SQL, informasi tabel, dan pengaturan lanjutan dari pernyataan SQL.
Aggregate in merujuk pada mengabaikan jumlah parameter konstan dalam klausa IN dari pernyataan SQL dan memperlakukan setiap klausa IN seolah-olah hanya memiliki satu parameter konstan. Mengikuti aturan ini, pernyataan SQL diparameterisasi, dan ID SQL dihitung; SQL dengan ID SQL yang sama dianggap sebagai kategori yang sama dan digabungkan. Jika kotak centang dipilih, SQL akan ditampilkan sesuai dengan Agregasi IN, tetapi ini tidak mempengaruhi data statistik.
TopSQL
TopSQL merujuk pada pernyataan SQL dengan waktu respons keseluruhan terlama dalam rentang waktu yang dipilih. Anda dapat melakukan operasi berikut terkait TopSQL:
Filter TopSQL menggunakan filter cepat, seperti Full Table Scan, Multi-partition Scan, dan Multiple Remote Executions untuk dengan cepat menemukan pernyataan SQL yang perlu dioptimalkan.
Klik View Samples di kolom Operation untuk melihat pernyataan SQL.
Di kolom Operation dari SQL tertentu, klik pada
dan pilih Set Throttling. Anda dapat memeriksa beberapa SQL untuk mengatur pembatasan secara batch.Klik tanda plus (+) di depan teks SQL untuk melihat kesalahan terakhir dan ringkasan kesalahan selama periode statistik.
Cek Aggregate in di sudut kanan atas daftar untuk menampilkan SQL sesuai dengan Agregasi IN, tetapi ini tidak akan mempengaruhi data statistik. Anda dapat memilih beberapa SQL (termasuk yang dengan Agregasi IN) untuk mengatur pembatasan secara batch.
Klik View Optimization Recommendation di sudut kanan atas daftar untuk masuk ke pusat optimasi dan melihat saran optimasi.
Klik TopSQL Comparison di sudut kanan atas daftar untuk membandingkan eksekusi pernyataan SQL yang sama selama periode berbeda pada node yang sama atau selama periode yang sama di berbagai node, serta eksekusi pernyataan SQL tunggal selama periode berbeda atau di berbagai node.
Perbandingan periode berbeda: Tentukan periode baseline dan periode perbandingan. Klik Comparative Analysis untuk melihat Comparison of Details dan Comparison of Performance Trends.
Perbandingan node berbeda: Tentukan node baseline dan node perbandingan. Klik Comparative Analysis untuk melihat Comparison of Details dan Comparison of Response Time Trends.
Perbandingan SQL Tunggal Periode Berbeda: Bandingkan dan analisis eksekusi SQL individu atau SQL agregat selama periode baseline dan perbandingan, lalu periksa Total Database Time Consumption dan Total Executions.
Perbandingan SQL Tunggal Node Berbeda: Bandingkan dan analisis eksekusi SQL individu atau SQL agregat di berbagai node analisis, lalu periksa Total Database Time Consumption dan Total Executions.
CatatanDua pernyataan SQL dengan ID SQL yang sama di database yang sama dianggap sama.
Perbandingan node berbeda hanya dilakukan ketika pernyataan SQL yang sama dieksekusi di node berbeda. Jika tidak, hasil perbandingan tidak akan ditampilkan.
Untuk melakukan analisis komparatif SQL tunggal di berbagai periode atau di berbagai node, Anda juga dapat memasukkan ID SQL terlebih dahulu lalu pilih ... > Single SQL Comparison di kolom Operation untuk SQL yang sesuai.
Klik Customize Column di sudut kanan atas daftar untuk menyesuaikan metrik lain yang Anda butuhkan.
Di jendela pop-up, atur Column Expression, seperti (@avgCpuTime * @avgDiskReads) / 2.
Masukkan Column Name.
Klik OK.
Anda dapat mendiagnosis TopSQL penyewa tertentu atau semua penyewa dalam sebuah kluster.

Ketika utilitas CPU host terlalu tinggi, Anda dapat memfilter TopSQL berdasarkan database dan node, lalu mengurutkan pernyataan SQL ini berdasarkan waktu CPU secara menurun untuk menemukan pernyataan SQL yang paling perlu dioptimalkan.

SlowSQL
SlowSQL merujuk pada pernyataan SQL yang waktu eksekusinya melebihi 500 ms. Anda dapat melakukan operasi berikut terkait SlowSQL:
Filter SlowSQL menggunakan filter cepat, seperti Full Table Scan, Multi-partition scan, dan Multiple Remote Executions.
Klik View Samples di kolom Operation untuk melihat pernyataan SQL.
Di kolom Operation dari SQL tertentu, klik pada
dan pilih Set Throttling. Anda dapat memeriksa beberapa SQL untuk mengatur pembatasan secara batch.Cek Aggregate in di sudut kanan atas daftar untuk menampilkan SQL sesuai dengan Agregasi IN, tetapi ini tidak akan mempengaruhi data statistik. Anda dapat memilih beberapa SQL (termasuk yang dengan Agregasi IN) untuk mengatur pembatasan secara batch.
Untuk menyesuaikan ambang batas Slow SQL, pilih ... > Modify Slow SQL Threshold di sudut kanan atas daftar. Di jendela pop-up, sesuaikan ambang batas Slow SQL lalu klik OK.
SQL Mencurigakan
Tab Suspicious SQL menampilkan SQL Text, SQL ID, Database, Diagnostic Results, dan sebagainya. SQL Mencurigakan merujuk pada pernyataan SQL yang mungkin menyebabkan masalah kinerja dan disaring berdasarkan aturan dan algoritma. Tabel berikut mencantumkan hasil diagnostik umum dan saran pemecahan masalah.
Hasil diagnostik | Saran pemecahan masalah |
Hints tanpa efek | Ini menunjukkan pernyataan SQL abnormal yang memerlukan administrator basis data (DBA) untuk menentukan apakah akan memperbaiki rencana eksekusi menggunakan outline. |
Pemindaian tabel penuh dengan kinerja buruk | Analisis rencana eksekusi dan struktur tabel untuk memastikan bahwa SQL memiliki indeks yang sesuai yang tersedia. |
Kinerja buruk meskipun menggunakan indeks | Periksa apakah kinerja dapat diterima dalam skenario bisnis Anda. Jika tidak, tingkatkan logika bisnis atau optimalkan indeks. |
Penurunan kinerja | Periksa perubahan distribusi data, lonjakan permintaan, dan perubahan rencana eksekusi. |
Perubahan rencana disertai dengan penurunan kinerja | Periksa dengan DBA. Anda dapat menggunakan outline untuk memperbaiki rencana eksekusi untuk memverifikasi apakah pernyataan SQL abnormal. |
Lonjakan eksekusi | Periksa volume bisnis. Lonjakan jumlah eksekusi pernyataan SQL dapat menyebabkan penurunan kinerja keseluruhan. |
Beban CPU terlalu tinggi | Periksa skenario bisnis Anda, perubahan distribusi data, peningkatan permintaan, dan perubahan rencana eksekusi. |
Konflik kunci dicurigai | SQL sedang diulang, yang mungkin disebabkan oleh konflik kunci. Silakan selidiki logika bisnis untuk menentukan apakah ada skenario konflik kunci. |
Terlalu banyak partisi diakses oleh pernyataan DML | Tulis ulang pernyataan SQL sehingga mendukung pemangkasan partisi. |
Tabel buffer dicurigai | Periksa apakah tabel terkait sering diperbarui. |
Mungkin ada akun besar dan kecil | Periksa apakah ada masalah skew data. |
Ketidakstabilan rencana eksekusi | Periksa apakah ada masalah dengan regresi rencana. |
Waktu pembuatan rencana terlalu lama | Periksa apakah ada masalah seperti rendahnya tingkat hit rencana. |
SQL Berisiko Tinggi
Tab High-risk SQL menampilkan SQL Text, Database, Cause of Risk, dan sebagainya. SQL Berisiko Tinggi merujuk pada pernyataan SQL yang dapat menyebabkan kerusakan pada kinerja sistem, keamanan, dan data.
Tabel berikut menjelaskan jenis-jenis SQL Berisiko Tinggi yang dapat diidentifikasi.
Operasi | Contoh | Jenis risiko | Deskripsi |
Tambah atau hapus kolom |
| Perubahan Skema - Kolom ditambahkan atau dihapus | - |
Hapus tabel atau database |
| Tabel atau database dihapus | - |
Kosongkan tabel |
| Tabel data dikosongkan | - |
Update tanpa kondisi |
| Update tanpa kondisi | - |
Update dengan kondisi selalu benar |
| Update dengan kondisi selalu benar | - |
Delete tanpa kondisi |
| Delete tanpa kondisi | - |
Delete dengan kondisi selalu benar |
| Delete dengan kondisi selalu benar | - |
Terlalu banyak baris dikembalikan |
| Terlalu banyak baris dikembalikan | Parameter |
Terlalu banyak baris terpengaruh |
| Terlalu banyak baris terpengaruh | Parameter |
Terlalu banyak partisi terlibat |
| Terlalu banyak partisi terlibat | Parameter |
Terlalu banyak kondisi IN | where id in (1,2,3,4,5.....) | Terlalu banyak kondisi IN | - |
Perubahan indeks |
| Perubahan berisiko tinggi - Perubahan indeks | - |
SQL Baru
SQL Baru merujuk pada pernyataan SQL yang tidak dieksekusi selama periode waktu tertentu (7 hari secara default) sebelum interval kueri, tetapi memiliki catatan eksekusi dalam interval kueri.
Tab Add SQL menampilkan SQL Text, SQL ID, Database, Total Executions, dan sebagainya.