All Products
Search
Document Center

ApsaraDB for OceanBase (Deprecated):Informasi dasar SQL

Last Updated:Jun 28, 2025

Fitur diagnostik SQL dirancang untuk menganalisis dan mendiagnosis TopSQL, SlowSQL, serta Suspicious SQL guna membantu Anda mengoptimalkan kinerja database.

Konsep dasar

Berikut adalah konsep dasar dari fitur diagnostik SQL:

  • TopSQL: Pernyataan SQL dengan waktu respons keseluruhan terlama dalam rentang waktu tertentu.

  • SlowSQL: Pernyataan SQL dengan waktu eksekusi lebih dari 500 ms.

  • Suspicious SQL: Pernyataan SQL yang berpotensi menyebabkan masalah kinerja, disaring menggunakan aturan dan algoritma tertentu.

Catatan

Saat ini, sistem memiliki batasan berikut untuk instance kluster Edisi Standar (Key-Value):

  • Untuk instance kluster KV dengan nomor versi ≥ 4.2.4 tetapi < 4.3.0, informasi diagnostik TopSQL dan SlowSQL dapat ditampilkan.

  • Untuk instance kluster KV versi lainnya, hanya informasi diagnostik SlowSQL yang dapat ditampilkan.

TopSQL

TopSQL adalah pernyataan SQL dengan waktu respons keseluruhan terlama dalam rentang waktu tertentu. Berikut operasi yang dapat dilakukan terkait TopSQL:

  • Filter TopSQL menggunakan filter cepat seperti Full Table Scan, Multi-partition scan, dan Multiple Remote Executions.

  • Klik View Samples di kolom Operation untuk melihat pernyataan SQL tersebut.

  • Di kolom Operation dari SQL tertentu, klik pada image dan pilih Set Throttling. Anda dapat memeriksa beberapa SQL untuk menetapkan pembatasan secara massal.

  • Klik tanda tambah (+) di depan teks SQL untuk melihat kesalahan terakhir dan ringkasan kesalahan selama periode statistik.

  • Cek Aggregate in di pojok kanan atas daftar untuk menampilkan SQL sesuai Agregasi IN tanpa memengaruhi data statistik. Anda dapat memilih beberapa SQL (termasuk yang dengan Agregasi IN) untuk menetapkan pembatasan secara massal.

  • Klik View Optimization Suggestions di pojok kanan atas daftar untuk melihat saran optimisasi di pusat optimisasi.

  • Klik TopSQL Comparison di pojok 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 pembandingan. Klik Comparative Analysis untuk melihat Comparison of Details dan Comparison of Performance Trends.

    • Perbandingan node berbeda: Tentukan node baseline dan pembandingan. Klik Comparative Analysis untuk melihat Comparison of Details dan Comparison of Response Time Trends.

    • Perbandingan Periode Berbeda untuk SQL Tunggal: Bandingkan dan analisis eksekusi SQL individu atau SQL agregat selama periode baseline dan pembandingan, lalu periksa Total Database Time Consumption dan Total Executions.

    • Perbandingan Node Berbeda untuk SQL Tunggal: Bandingkan dan analisis eksekusi SQL individu atau SQL agregat di berbagai node analisis, lalu periksa Total Database Time Consumption dan Total Executions.

      Catatan
      • Dua pernyataan SQL dengan ID SQL yang sama dalam basis data yang sama dianggap sama.

      • Perbandingan node berbeda hanya dilakukan jika pernyataan SQL yang sama dieksekusi di node berbeda. Jika tidak, hasil perbandingan tidak akan ditampilkan.

      • Untuk melakukan analisis perbandingan 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 pojok kanan atas daftar untuk menyesuaikan metrik lain yang diperlukan.

    1. Di jendela pop-up, atur Column Expression, misalnya (@avgCpuTime * @avgDiskReads) / 2.

    2. Masukkan Column Name.

    3. Klik OK.

  • Jika utilitas CPU host terlalu tinggi, Anda dapat memfilter pernyataan SQL teratas berdasarkan basis data dan node, lalu urutkan pernyataan SQL tersebut berdasarkan waktu CPU secara menurun untuk menemukan pernyataan SQL yang paling perlu dioptimalkan.image

SlowSQL

SlowSQL adalah pernyataan SQL dengan waktu eksekusi lebih dari 500 ms.

  • 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 tersebut.

  • Di kolom Operation dari SQL tertentu, klik pada image dan pilih Set Throttling. Anda dapat memeriksa beberapa SQL untuk menetapkan pembatasan secara massal.

  • Cek Aggregate in di pojok kanan atas daftar untuk menampilkan SQL sesuai Agregasi IN tanpa memengaruhi data statistik. Anda dapat memilih beberapa SQL (termasuk yang dengan Agregasi IN) untuk menetapkan pembatasan secara massal.

  • Untuk menyesuaikan ambang batas SQL lambat, pilih ... > Modify Slow SQL Threshold di pojok kanan atas daftar. Di jendela pop-up, sesuaikan ambang batas SQL lambat lalu klik OK.

Suspicious SQL

Suspicious SQL adalah pernyataan SQL yang berpotensi menyebabkan masalah kinerja, disaring menggunakan aturan dan algoritma tertentu. Tabel berikut mencantumkan hasil diagnostik umum dan saran pemecahan masalah.

Hasil Diagnostik

Saran Pemecahan Masalah

Petunjuk Tanpa Efek

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 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 Penurunan Kinerja

Periksa dengan DBA. Anda dapat menggunakan outline untuk memperbaiki rencana eksekusi guna memverifikasi apakah pernyataan SQL abnormal.

Puncak 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 Diduga

SQL sedang dicoba ulang, yang mungkin disebabkan oleh konflik kunci. 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 Diduga

Periksa apakah tabel terkait sering diperbarui.

Mungkin Ada Akun Besar dan Kecil

Periksa apakah ada masalah skew data.

Instabilitas Rencana Eksekusi

Periksa apakah ada masalah dengan regresi rencana.

Waktu Pembuatan Rencana Terlalu Lama

Periksa apakah ada masalah seperti rendahnya tingkat hit rencana.

Tab Suspicious SQL menampilkan SQL Text, SQL ID, Database, Diagnostic Results, dan sebagainya.