All Products
Search
Document Center

AnalyticDB:Analisis kueri dengan rencana eksekusi

Last Updated:Jun 06, 2026

Fitur diagnostik SQL di AnalyticDB for MySQL memvisualisasikan rencana eksekusi untuk kueri SQL dalam bentuk diagram pohon. Pohon rencana eksekusi terdiri dari dua lapisan: lapisan stage dan lapisan operator. Topik ini menjelaskan cara menggunakan pohon rencana eksekusi pada kedua lapisan tersebut untuk menganalisis performa kueri.

Pohon rencana eksekusi lapisan stage

Pohon rencana eksekusi lapisan stage terdiri dari beberapa node stage, dengan aliran data mengalir dari bawah ke atas. Proses dimulai dari stage yang berisi operator scan untuk memindai data. Data kemudian diproses melalui stage-stage perantara sebelum node akar di bagian atas mengembalikan hasil kueri ke klien.

Pohon rencana eksekusi lapisan stage menyediakan informasi berikut:

  • Informasi dasar

    Setiap persegi panjang dalam diagram merepresentasikan satu stage. Informasi yang ditampilkan mencakup ID stage, jenis output data, serta durasi atau Penggunaan memori. Penggunaan memori akan ditampilkan ketika Anda mengurutkan rencana dengan memilih By Memory.

    Catatan

    Ikon peringatan merah pada suatu stage dalam pohon rencana eksekusi menunjukkan bahwa stage tersebut berpotensi untuk dioptimalkan.

  • Baris output

    Angka pada garis yang menghubungkan dua stage berdekatan merepresentasikan jumlah baris yang dioutput oleh stage hulu ke stage hilir. Semakin banyak baris yang dioutput, semakin tebal garis penghubungnya.

  • Metode output data

    Ini adalah metode yang digunakan untuk mentransfer data antara stage hulu dan hilir. AnalyticDB for MySQL mendukung metode output data berikut.

    Metode output

    Deskripsi

    Broadcast

    Menyalin data dari setiap compute node pada stage hulu ke semua compute node pada stage hilir.1-1

    Repartition

    Mempartisi data dari setiap compute node pada stage hulu berdasarkan aturan tertentu, lalu mendistribusikannya ke compute node tertentu pada stage hilir.1-2

    Gather

    Mengirim data dari setiap compute node pada stage hulu ke satu compute node spesifik pada stage hilir.1-3

  • 10 stage teratas berdasarkan penggunaan memori atau durasi eksekusi

    Tab Top 10 Nodes in Descending Order by Duration or Memory di sisi kanan pohon rencana eksekusi mencantumkan ID dan persentase yang sesuai untuk 10 stage teratas yang menyumbang proporsi terbesar terhadap total durasi kueri atau total Penggunaan memori.

    Catatan
    • Secara default, stage diurutkan By Duration. Anda juga dapat memilih By Memory di pojok kanan atas pohon rencana eksekusi.

    • Tab Top 10 Nodes in Descending Order by Duration or Memory tidak menampilkan stage yang Penggunaan memorinya atau durasi eksekusinya kurang dari 1% dari total.

    • Karena perbedaan metode statistik, jumlah persentase durasi atau memori untuk seluruh stage dalam suatu kueri mungkin tidak sama dengan 100%.

  • Diagnostic Results

    Klik suatu stage, misalnya Stage[1], dalam pohon rencana eksekusi untuk melihat detailnya di panel Diagnostic Results di sebelah kanan. Detail tersebut mencakup dua jenis diagnostik:

    • Diagnostik stage: Memberikan deskripsi rinci mengenai hasil diagnostik untuk stage target, termasuk masalah yang teridentifikasi seperti broadcast data volume besar atau data skew, serta rekomendasi optimasi yang sesuai.

    • Diagnostik operator: Hanya menampilkan nama operator bermasalah dalam stage saat ini dan ringkasan singkat mengenai isu tersebut. Untuk deskripsi lengkap dan solusi optimasi, lihat pohon rencana eksekusi lapisan operator. Untuk informasi lebih lanjut, lihat Operator layer execution plan tree.

    Untuk informasi lebih lanjut mengenai hasil diagnostik suatu stage, lihat Stage-level diagnostic results.

  • Statistics

    Di bawah panel Diagnostic Results, bagian Statistics menampilkan metrik untuk stage target.

    Metrik

    Deskripsi

    Peak Memory

    Puncak memori yang dikonsumsi oleh stage. Sistem secara otomatis memilih satuan (Bytes, KB, MB, GB, atau TB) berdasarkan konsumsi memori aktual.

    Cumulative Duration

    Jumlah waktu eksekusi semua operator dalam stage tersebut, diagregasi di seluruh compute node dan thread. Sistem secara otomatis memilih satuan (ms, s, m, atau h) berdasarkan durasi aktual.

    Catatan

    Durasi kumulatif ini tidak dapat dibandingkan langsung dengan total durasi kueri.

    Output Rows

    Jumlah baris yang dioutput oleh stage.

    Amount of Output Data

    Ukuran data yang dioutput oleh stage. Sistem secara otomatis memilih satuan (Bytes, KB, MB, GB, atau TB) berdasarkan ukuran data aktual.

    Input Rows

    Jumlah baris yang diinput ke stage.

    Amount of Input Data

    Ukuran data yang diinput ke stage. Sistem secara otomatis memilih satuan (Bytes, KB, MB, GB, atau TB) berdasarkan ukuran data aktual.

    Scanned Rows

    Jumlah baris yang dipindai oleh stage.

    Catatan

    Metrik ini hanya tersedia jika stage berisi operator scan.

    Scan Size

    Ukuran data yang dipindai oleh stage. Sistem secara otomatis memilih satuan (Bytes, KB, MB, GB, atau TB) berdasarkan ukuran data aktual.

    Catatan

    Metrik ini hanya tersedia jika stage berisi operator scan.

Pohon rencana eksekusi lapisan operator

Rencana eksekusi lapisan operator terdiri dari beberapa operator. Setiap persegi panjang dalam diagram merepresentasikan satu operator, dan data mengalir dari bawah ke atas. Proses dimulai dari operator di bagian bawah pohon, seperti TableScan dan RemoteSource, yang memindai data atau menerimanya dari jaringan. Data kemudian melewati operator-operator perantara. Terakhir, operator akar, seperti StageOutput atau Output, di bagian atas mengirimkan data ke stage hilir atau mengembalikan hasil kueri akhir ke klien.

Untuk melihat pohon rencana eksekusi lapisan operator, arahkan kursor ke suatu stage dan klik View Stage Plans pada kotak pop-up untuk membuka halaman detail rencana untuk stage tersebut.

Pohon rencana eksekusi lapisan operator menyediakan informasi berikut:

Catatan

Ikon peringatan merah pada suatu operator dalam pohon rencana eksekusi menunjukkan bahwa operator tersebut berpotensi untuk dioptimalkan.

  • Informasi dasar

    Setiap persegi panjang dalam diagram merepresentasikan satu operator. Informasi yang ditampilkan mencakup nama dan ID operator, properti operator seperti join conditions and algorithm untuk operator Join, serta durasi atau Penggunaan memori. Penggunaan memori akan ditampilkan ketika Anda mengurutkan rencana dengan memilih By Memory.

  • Baris output

    Angka pada garis yang menghubungkan dua operator berdekatan merepresentasikan jumlah baris yang dioutput oleh operator hulu ke operator hilir. Semakin banyak baris yang dioutput, semakin tebal garis penghubungnya.

  • 10 operator teratas berdasarkan penggunaan memori atau durasi eksekusi

    Tab Top 10 Nodes in Descending Order by Duration or Memory di sisi kanan pohon rencana eksekusi menampilkan ID dan rasio yang sesuai untuk 10 operator teratas yang menyumbang persentase terbesar terhadap total durasi kueri atau total Penggunaan memori.

    Catatan
    • Secara default, operator diurutkan By Duration. Anda juga dapat memilih By Memory di pojok kanan atas pohon rencana eksekusi.

    • Tab Top 10 Nodes in Descending Order by Duration or Memory tidak menampilkan operator yang Penggunaan memorinya atau durasi eksekusinya kurang dari 1% dari total.

    • Karena perbedaan metode statistik, jumlah persentase durasi atau memori untuk seluruh operator dalam suatu stage mungkin tidak sama dengan 100%.

  • Diagnostic Results

    Klik suatu operator, misalnya Join[36148], dalam pohon rencana eksekusi untuk melihat detailnya di panel Diagnostic Results di sebelah kanan. Detail tersebut mencakup masalah yang teridentifikasi, seperti data explosion atau tabel kanan yang terlalu besar dalam join, serta rekomendasi optimasi yang sesuai. Untuk informasi lebih lanjut mengenai diagnostik operator, lihat Operator-level diagnostic results.

  • Statistics

    Di bawah panel Diagnostic Results, bagian Statistics menampilkan metrik untuk operator target.

    Metrik

    Deskripsi

    Peak Memory

    Puncak memori yang dikonsumsi oleh operator. Sistem secara otomatis memilih satuan (Bytes, KB, MB, GB, atau TB) berdasarkan konsumsi memori aktual.

    Time Consumed

    Durasi rata-rata operator pada tingkat konkurensi tertentu. Sistem secara otomatis memilih satuan (ms, s, m, atau h) berdasarkan durasi aktual.

    Catatan

    Durasi ini dapat dibandingkan dengan total durasi kueri.

    Output Rows

    Jumlah baris yang dioutput oleh operator.

    Amount of Output Data

    Ukuran data yang dioutput oleh operator. Sistem secara otomatis memilih satuan (Bytes, KB, MB, GB, atau TB) berdasarkan ukuran data aktual.

    Input Rows

    Jumlah baris yang diinput ke operator.

    Amount of Input Data

    Ukuran data yang diinput ke operator. Sistem secara otomatis memilih satuan (Bytes, KB, MB, GB, atau TB) berdasarkan ukuran data aktual.

    Builder Statistics

    Berisi informasi mengenai builder, seperti tipe, puncak memori, durasi, baris input/output, dan volume data. Tipe builder berikut tersedia:

    • HashBuilder: Digunakan untuk membangun tabel hash dalam komputasi hash join.

    • SetBuilder: Digunakan untuk membangun struktur set dalam komputasi semi-join.

    • NestLoopBuilder: Digunakan untuk melakukan komputasi nested-loop join.

    Catatan

    Metrik ini hanya tersedia untuk operator join.

    Properties

    Properti bervariasi tergantung pada tipe operator. Sebagai contoh, properti operator join mencakup jenis join dan metode. Untuk informasi lebih lanjut, lihat Operators.