All Products
Search
Document Center

AnalyticDB:Pola SQL

Last Updated:Mar 28, 2026

Ketika sebuah kluster menjalankan ribuan kueri serupa per menit—yang hanya berbeda pada nilai filter atau ID—menganalisisnya satu per satu tidak praktis. Pola SQL mengelompokkan pernyataan yang secara struktural identik ke dalam satu tampilan sehingga Anda dapat menjawab pertanyaan seperti:

  • Pola kueri mana yang paling banyak mengonsumsi CPU atau memori?

  • Apakah performa suatu pola kueri berubah seiring waktu?

  • Pola mana yang paling sering dijalankan saat kluster sedang mengalami tekanan?

  • Seberapa sering suatu pola kueri gagal?

Pola dengan persentase penggunaan sumber daya di atas 30% akan disorot secara otomatis. Pernyataan SQL yang menyebabkan beban kerja berlebihan dapat dicegat. Untuk informasi selengkapnya, lihat Persist plan and query blocker.

Cara kerja

AnalyticDB for MySQL menganalisis pernyataan SQL secara real-time dan mengelompokkannya berdasarkan struktur teks SQL. Pernyataan yang hanya berbeda pada nilai literal—seperti kondisi filter atau nilai ID—digabungkan menjadi satu pola. Sebagai contoh, kedua kueri berikut termasuk dalam pola yang sama karena satu-satunya perbedaan adalah nilai literal pada klausa WHERE:

SELECT * FROM orders WHERE user_id = 1001
SELECT * FROM orders WHERE user_id = 2048

Tampilan pola mengagregasi jumlah eksekusi, biaya CPU, memori, durasi, dan data yang dipindai dari semua pernyataan dalam kelompok tersebut.

Catatan penggunaan

  • Pola SQL hanya tersedia untuk 14 hari terakhir.

  • Setiap kueri mencakup rentang waktu maksimum 24 jam.

Lihat pola SQL

  1. Masuk ke Konsol AnalyticDB for MySQL. Di pojok kiri atas, pilih wilayah. Di panel navigasi sebelah kiri, klik Clusters. Pada tab Data Warehouse Edition, temukan kluster tersebut dan klik ID-nya.

  2. Di panel navigasi sebelah kiri, klik Diagnostics and Optimization.

  3. Klik tab SQL Pattern.

Secara default, pola dari 30 menit terakhir ditampilkan. Filter berdasarkan kata kunci atau rentang waktu sesuai kebutuhan.

Parameter daftar pola SQL

ParameterDeskripsi
ActionsKlik View Details untuk membuka halaman Analisis Pola untuk pola ini.
UsernameAkun database yang digunakan untuk mengirimkan pernyataan SQL dalam pola ini.
Client IP AddressAlamat IP client yang mengirimkan pernyataan SQL tersebut.
SQL PatternPernyataan SQL representatif untuk pola ini. Klik ikon 2 untuk menyalin pernyataan lengkapnya.
Total CPU CostTotal waktu CPU yang dikonsumsi oleh semua pernyataan dalam pola ini dalam rentang waktu tertentu. Persentase menunjukkan bagian pola ini dari total waktu CPU semua pola. Nilai di atas 30% disorot. Jika persentase CPU pola ini tinggi, periksa CPU metrics untuk analisis lebih lanjut.
Total Peak MemoryTotal memori puncak yang dikonsumsi oleh semua pernyataan dalam pola ini dalam rentang waktu tertentu. Persentase menunjukkan bagian pola ini dari total memori puncak semua pola. Nilai di atas 30% disorot. Jika persentase memori pola ini tinggi, periksa compute memory usage metrics untuk analisis lebih lanjut.
Total DurationTotal durasi eksekusi semua pernyataan dalam pola ini dalam rentang waktu tertentu. Persentase menunjukkan bagian pola ini dari total durasi semua pola. Nilai di atas 30% disorot. Jika persentase durasi pola ini meningkat, periksa query response time metrics untuk melihat korelasinya.
Total Size of Read DataTotal ukuran data yang dibaca oleh semua pernyataan dalam pola ini dalam rentang waktu tertentu. Persentase menunjukkan bagian pola ini dari total data baca semua pola. Nilai di atas 30% disorot. Jika pola ini membaca jumlah data yang tidak proporsional, periksa table data reading metrics untuk analisis lebih lanjut.
Total Cost for Reading DataTotal waktu CPU yang dihabiskan untuk membaca data oleh semua pernyataan dalam pola ini dalam rentang waktu tertentu. Persentase menunjukkan bagian pola ini dari total waktu CPU pembacaan data semua pola. Nilai di atas 30% disorot. Nilai tinggi meningkatkan pemanfaatan CPU pada node reservasi (storage nodes). Periksa CPU metrics of reserved nodes atau original storage nodes untuk analisis lebih lanjut.
Average CPU CostRata-rata waktu CPU per eksekusi dalam rentang waktu tertentu.
Maximum CPU CostWaktu CPU maksimum untuk satu eksekusi dalam rentang waktu tertentu.
Average CPU Cost for Reading TablesRata-rata waktu CPU yang dihabiskan untuk membaca data per eksekusi dalam rentang waktu tertentu.
Maximum CPU Cost for Reading TablesWaktu CPU maksimum yang dihabiskan untuk membaca data dalam satu eksekusi dalam rentang waktu tertentu.
ExecutionsJumlah kali pernyataan dalam pola ini dijalankan dalam rentang waktu tertentu. Urutkan berdasarkan kolom ini untuk mengidentifikasi pola yang paling sering dieksekusi selama lonjakan sumber daya kluster.
FailuresJumlah eksekusi yang gagal dalam rentang waktu tertentu.
Average Total Time ConsumedRata-rata total waktu per eksekusi. Satuan: milidetik.
Maximum Total Time ConsumedTotal waktu maksimum untuk satu eksekusi. Satuan: milidetik. Jika Maximum Total Time Consumed mendekati Average Total Time Consumed selama operasi normal, lonjakan total waktu kemungkinan besar disebabkan oleh konflik sumber daya dari pola lain, bukan dari pola ini sendiri.
Average Execution DurationRata-rata durasi eksekusi per pernyataan dalam rentang waktu tertentu. Satuan: milidetik.
Maximum Execution DurationDurasi eksekusi maksimum untuk satu pernyataan dalam rentang waktu tertentu. Satuan: milidetik. Untuk detailnya, lihat Use query monitoring charts and SQL queries.
Average Peak MemoryRata-rata memori puncak per eksekusi dalam rentang waktu tertentu. Satuan: byte.
Maximum Peak MemoryMemori puncak maksimum untuk satu eksekusi dalam rentang waktu tertentu. Satuan: byte. Jika Maximum Peak Memory jauh lebih tinggi daripada Average Peak Memory, data yang dipindai oleh pola mungkin telah meningkat atau rencana eksekusi mungkin telah berubah. Klik View Details untuk mengidentifikasi penyebabnya.
Average Data ScannedRata-rata jumlah data yang dipindai per eksekusi dalam rentang waktu tertentu. Satuan: MB.
Maximum Data ScannedData maksimum yang dipindai dalam satu eksekusi dalam rentang waktu tertentu. Satuan: MB. Jika Maximum Data Scanned jauh lebih tinggi daripada Average Data Scanned, data yang dipindai tidak stabil. Identifikasi penyebabnya sebelum pola ini memengaruhi performa kluster.
Table NameNama tabel yang dipindai oleh pernyataan dalam pola ini.

Cara menghitung metrik persentase

Setiap metrik persentase mengikuti rumus yang sama: nilai total pola dibagi dengan total semua pola.

Contoh: Lima pernyataan SQL dijalankan dalam suatu rentang waktu. Tiga pernyataan pertama termasuk dalam Pola 1, dua sisanya termasuk dalam Pola 2.

Biaya CPU per pernyataan: 50 ms, 1 dtk, 70 ms, 1,5 dtk, 1 dtk

MetrikPola 1Pola 2
Total CPU cost0,05 dtk + 1 dtk + 0,07 dtk = 1,12 dtk1,5 dtk + 1 dtk = 2,5 dtk
Persentase biaya CPU1,12 / (1,12 + 2,5) × 100% = 30,9392%2,5 / (1,12 + 2,5) × 100% = 69,0607%

Memori puncak per pernyataan: 1 GB, 2 GB, 3 GB, 3 GB, 1 GB

MetrikPola 1Pola 2
Total memori puncak1 GB + 2 GB + 3 GB = 6 GB1 GB + 3 GB = 4 GB
Persentase memori puncak6 / (6 + 4) × 100% = 60%4 / (6 + 4) × 100% = 40%

Rumus yang sama berlaku untuk Total Duration, Total Size of Read Data, dan Total Cost for Reading Data.

Analisis pola

Pada tab SQL Pattern, klik View Details di kolom Actions untuk membuka halaman Pattern Analysis. Halaman ini menampilkan metrik utama untuk pola tersebut dalam grafik deret waktu dalam rentang waktu yang dipilih, termasuk eksekusi, total waktu yang dikonsumsi, durasi eksekusi, data yang dipindai, dan memori puncak. Untuk setiap metrik, nilai maksimum dan rata-rata ditampilkan untuk membantu Anda membedakan antara eksekusi tipikal dan outlier.

Halaman ini juga mencantumkan semua pernyataan SQL individual yang termasuk dalam pola ini dalam rentang waktu tersebut. Klik Diagnose di kolom Actions untuk melihat hasil diagnostik dan rencana eksekusi untuk pernyataan tertentu. Untuk informasi selengkapnya, lihat Use execution plans to analyze queries.

Referensi API