全部产品
Search
文档中心

AnalyticDB:Gunakan rencana eksekusi untuk menganalisis kueri

更新时间:Jul 02, 2025

AnalyticDB for MySQL menyediakan fitur diagnostik SQL untuk menampilkan rencana eksekusi kueri SQL dalam bentuk bagan hirarki. Bagan ini terdiri dari dua lapisan: lapisan tahap dan lapisan operator. Artikel ini menjelaskan cara menggunakan kedua lapisan tersebut untuk menganalisis kueri.

Bagan hirarki rencana eksekusi pada lapisan tahap

Bagan hirarki rencana eksekusi mencakup beberapa tahap yang mengalirkan data dari bawah ke atas. Pertama, tahap dengan operator pemindaian memindai data. Kemudian, data diproses oleh node tahap perantara sebelum akhirnya node akar di bagian atas mengembalikan hasil kueri ke klien.

1
Bagan hirarki rencana eksekusi pada lapisan tahap mencakup informasi berikut:
  • Informasi Dasar
    Setiap persegi panjang pada gambar mewakili sebuah tahap dan mencakup detail seperti ID tahap, tipe keluaran data, serta durasi atau penggunaan memori. Informasi memori ditampilkan setelah Anda memilih By Memory.
    Catatan Jika sistem mendeteksi kemungkinan optimisasi untuk suatu tahap, ikon merah dengan tanda seru (!) akan ditampilkan pada bagan hirarki.
  • Jumlah Baris Keluaran

    Angka pada garis antara dua tahap menunjukkan jumlah baris keluaran dari tahap hulu ke tahap hilir. Semakin besar jumlah baris, semakin tebal garis yang menghubungkan tahapan tersebut.

  • Metode Keluaran Data
    Metode ini digunakan untuk mentransfer data antara dua tahap. Tabel berikut menjelaskan metode keluaran data yang didukung oleh AnalyticDB for MySQL.
    Metode keluaran dataDeskripsi
    BroadcastData dari setiap node komputasi di tahap hulu disalin ke semua node komputasi di tahap hilir. 1
    RepartitionData dari setiap node komputasi di tahap hulu dipartisi berdasarkan aturan tertentu dan kemudian didistribusikan ke node komputasi yang ditentukan di tahap hilir.2
    GatherData dari setiap node komputasi di tahap hulu dikonsentrasikan pada node komputasi tertentu di tahap hilir. 3
  • Tahap Teratas Berdasarkan Penggunaan Memori atau Durasi Eksekusi
    Tab Top 10 Nodes in Descending Order by Duration or Memory di sisi kanan menampilkan ID dan proporsi dari 10 tahap teratas. Proporsi ini mencerminkan kontribusi terhadap total durasi atau penggunaan memori kueri.
    Catatan
    • Secara default, opsi By Duration dipilih. Anda juga dapat memilih By Memory di pojok kanan atas bagan.
    • Tahap dengan penggunaan memori kurang dari 1% atau proporsi durasi eksekusi kurang dari 1% tidak ditampilkan pada tab Top 10 Nodes in Descending Order by Duration or Memory.
    • Total proporsi durasi atau penggunaan memori dari semua tahap mungkin tidak mencapai 100% karena perbedaan dalam metode statistik.
  • Diagnostic Results
    Klik tahap seperti Stage[1] pada bagan untuk melihat detail diagnostik di bagian Diagnostic Results di sisi kanan:
    • Diagnostik Tahap: Menyajikan deskripsi rinci tentang masalah yang ditemukan dan solusi optimisasi yang sesuai, seperti skew data atau volume data siaran yang besar.
    • Diagnostik Operator: Memberikan gambaran umum tentang operator bermasalah dalam tahap saat ini. Detail lebih lanjut tersedia di bagan hirarki pada lapisan operator. Untuk informasi tambahan, lihat Bagan Hirarki Rencana Eksekusi pada Lapisan Operator.

    Untuk detail lebih lanjut tentang hasil diagnostik tahap, lihat Hasil Diagnostik Tingkat Tahap.

  • Statistics

    Bagian Statistics di bawah bagian Diagnostic Results menampilkan statistik metrik untuk tahap yang ingin Anda analisis.

    MetrikDeskripsi
    Peak MemoryMemori maksimum yang dikonsumsi oleh tahap. Sistem memilih Bytes, KB, MB, GB, atau TB sebagai unit berdasarkan jumlah memori aktual yang dikonsumsi.
    Cumulative DurationDurasi eksekusi kumulatif yang dikonsumsi oleh semua node dan thread dari semua operator dalam memori tahap. Sistem memilih ms, s, m, atau h sebagai unit berdasarkan durasi aktual.
    Catatan Durasi kumulatif ini tidak dapat dibandingkan dengan durasi total dari kueri saat ini.
    Output RowsJumlah baris yang dikeluarkan dari tahap.
    Amount of Output DataJumlah data yang dikeluarkan dari tahap. Sistem memilih Bytes, KB, MB, GB, atau TB sebagai unit berdasarkan jumlah data aktual.
    Input RowsJumlah baris yang dimasukkan ke tahap.
    Amount of Input DataJumlah data yang dimasukkan ke tahap. Sistem memilih Bytes, KB, MB, GB, atau TB sebagai unit berdasarkan jumlah data aktual.
    Scanned RowsJumlah baris yang dipindai oleh tahap.
    Catatan Parameter ini hanya ditampilkan jika tahap berisi operator pemindaian.
    Scan SizeJumlah data yang dipindai oleh tahap. Sistem memilih Bytes, KB, MB, GB, atau TB sebagai unit berdasarkan jumlah data aktual.
    Catatan Parameter ini hanya ditampilkan jika tahap berisi operator pemindaian.

Bagan hirarki rencana eksekusi pada lapisan operator

Bagan hirarki rencana eksekusi mencakup beberapa operator yang mengalirkan data dari bawah ke atas. Operator paling hulu (TableScan dan RemoteSource) memindai data atau menerima data jaringan. Kemudian, data diproses oleh operator perantara sebelum node akar (StageOutput atau Output) di bagian atas mengembalikan hasil kueri ke klien.

Arahkan penunjuk ke tahap yang ingin Anda analisis dan klik View Stage Plans di kotak informasi yang muncul. Anda akan diarahkan ke halaman detail rencana tahap untuk melihat bagan hirarki pada lapisan operator. 3
Bagan hirarki rencana eksekusi pada lapisan operator mencakup informasi berikut.4
Catatan Jika sistem mendeteksi kemungkinan optimisasi untuk operator, ikon merah dengan tanda seru (!) akan ditampilkan pada bagan hirarki.
  • Informasi Dasar

    Setiap persegi panjang mewakili operator dan mencakup detail seperti nama operator, ID, properti (seperti kondisi join dan algoritma operator JOIN), serta durasi atau penggunaan memori. Informasi memori ditampilkan setelah Anda memilih By Memory.

  • Jumlah Baris Keluaran

    Angka pada garis antara dua operator menunjukkan jumlah baris keluaran dari operator hulu ke operator hilir. Semakin besar jumlah baris, semakin tebal garis yang menghubungkan operator tersebut.

  • Operator Teratas Berdasarkan Penggunaan Memori atau Durasi Eksekusi
    Tab Top 10 Nodes in Descending Order by Duration or Memory di sisi kanan menampilkan ID dan proporsi dari 10 operator teratas. Proporsi ini mencerminkan kontribusi terhadap total durasi atau penggunaan memori kueri.
    Catatan
    • Secara default, opsi By Duration dipilih. Anda juga dapat memilih By Memory di pojok kanan atas bagan.
    • Operator dengan penggunaan memori kurang dari 1% atau proporsi durasi eksekusi kurang dari 1% tidak ditampilkan pada tab Top 10 Nodes in Descending Order by Duration or Memory.
    • Total proporsi durasi atau penggunaan memori dari semua operator mungkin tidak mencapai 100% karena perbedaan dalam metode statistik.
  • Diagnostic Results
    Klik operator seperti Join[36184] pada bagan untuk melihat detail diagnostik di bagian Diagnostic Results di sisi kanan. Detail ini mencakup masalah yang ditemukan dan solusi optimisasi yang sesuai, seperti skew data atau tabel kanan yang besar dalam operasi join. Untuk informasi lebih lanjut, lihat Hasil Diagnosis Tingkat Operator. 5
  • Statistics

    Bagian Statistics di bawah bagian Diagnostic Results menampilkan statistik metrik untuk operator yang ingin Anda analisis.

    MetrikDeskripsi
    Peak MemoryMemori maksimum yang dikonsumsi oleh operator. Sistem memilih Bytes, KB, MB, GB, atau TB sebagai unit berdasarkan jumlah memori aktual yang dikonsumsi.
    Time ConsumedDurasi rata-rata operator dengan konkurensi tertentu. Sistem memilih ms, s, m, atau h sebagai unit berdasarkan durasi aktual.
    Catatan Durasi ini dapat dibandingkan dengan durasi kueri saat ini.
    Output RowsJumlah baris yang dikeluarkan dari operator.
    Amount of Output DataJumlah data yang dikeluarkan dari operator. Sistem memilih Bytes, KB, MB, GB, atau TB sebagai unit berdasarkan jumlah data aktual.
    Input RowsJumlah baris yang dimasukkan ke operator.
    Amount of Input DataJumlah data yang dimasukkan ke operator. Sistem memilih Bytes, KB, MB, GB, atau TB sebagai unit berdasarkan jumlah data aktual.
    Builder StatisticsStatistik untuk pembuat, termasuk tipe pembuat, memori maksimum, durasi, jumlah baris masukan, jumlah baris keluaran, dan jumlah data. Tipe pembuat berikut tersedia:
    • HashBuilder: membuat tabel hash untuk menyelesaikan join hash.
    • SetBuilder: membuat set untuk menyelesaikan semi join.
    • NestLoopBuilder: menyelesaikan nested-loop join (NLJs).
    Catatan Metrik ini hanya ditampilkan untuk operator JOIN.
    PropertiesProperti operator. Operator yang berbeda memiliki properti yang berbeda. Misalnya, properti operator JOIN mencakup tipe join dan metode join. Untuk informasi lebih lanjut, lihat Operator.