全部产品
Search
文档中心

AnalyticDB:Hasil diagnosis tingkat query

更新时间:Jul 06, 2025

AnalyticDB for MySQL menyediakan fitur diagnostik SQL untuk mengumpulkan statistik terpisah pada tingkat query, tahap, dan operator. Statistik ini digunakan untuk mendiagnosis masalah serta memberikan saran optimasi. Topik ini menjelaskan cara melihat dan menganalisis hasil diagnosis tingkat query.

Jenis hasil diagnosis

Catatan Untuk informasi tentang cara melihat hasil diagnosis tingkat query, lihat Lihat Hasil Diagnosis.

Sejumlah besar data dikembalikan ke klien

  • Masalah
    Ketika sejumlah besar data dikembalikan ke klien, query dapat melambat dan memengaruhi penggunaan sumber daya jaringan frontend.
    Catatan Anda dapat melihat Returned Data di bagian Query Properties halaman detail query. Untuk informasi lebih lanjut, lihat Lihat Properti Query.
  • Saran
    • Kurangi jumlah data yang dikembalikan ke klien. Sebagai contoh, tambahkan kata kunci LIMIT atau kondisi filter saat melakukan query data.
    • Ekspor data ke sistem lain menggunakan tabel eksternal untuk mengurangi jumlah data yang dikembalikan ke klien. Contohnya, Anda dapat mengekspor data ke Object Storage Service (OSS). Untuk informasi lebih lanjut, lihat Ekspor Data ke OSS.

Sejumlah besar sumber daya memori digunakan oleh query

  • Masalah
    Query mengonsumsi sejumlah besar sumber daya memori, yang dapat menyebabkan kegagalan eksekusi query lain, menurunkan kecepatan eksekusi, dan memengaruhi stabilitas keseluruhan kluster AnalyticDB for MySQL.
    Catatan Anda dapat melihat Peak Memory di bagian Query Properties halaman detail query. Untuk informasi lebih lanjut, lihat Lihat Properti Query.
  • Saran

    Tentukan alasan mengapa query mengonsumsi sejumlah besar sumber daya memori. Kemudian, identifikasi tahap atau operator yang mengonsumsi banyak memori menggunakan rencana eksekusi dalam diagnostik SQL AnalyticDB for MySQL. Untuk informasi lebih lanjut, lihat Query Lambat yang Mengonsumsi Sumber Daya Memori dan Gunakan Rencana Eksekusi untuk Menganalisis Query.

Sejumlah besar tahap dihasilkan untuk sebuah query

  • Masalah
    Sejumlah besar tahap dihasilkan untuk sebuah query. Hal ini meningkatkan penggunaan sumber daya jaringan dan membuat pemrosesan sistem menjadi lebih kompleks, yang berisiko bagi stabilitas keseluruhan kluster.
    Catatan Untuk informasi lebih lanjut, lihat Faktor-faktor yang Memengaruhi Kinerja Query.
  • Saran
    • Sebelum data ditulis ke kluster AnalyticDB for MySQL, gabungkan tabel di kluster untuk mengurangi jumlah tabel.
    • Semakin banyak join dalam pernyataan SQL, semakin banyak tahap yang dihasilkan oleh AnalyticDB for MySQL untuk sebuah query. Oleh karena itu, kurangi jumlah join untuk mengurangi jumlah tahap yang dihasilkan.
    • Saat menggunakan tampilan materialisasi untuk melakukan query, AnalyticDB for MySQL dapat menggunakan kembali tahap untuk mengurangi jumlah tahap yang dihasilkan untuk sebuah query. Untuk informasi lebih lanjut, lihat Ikhtisar.

Sejumlah besar data dibaca oleh sebuah query

  • Masalah
    Sebuah query membaca sejumlah besar data, yang mengonsumsi sumber daya disk I/O secara signifikan dan memengaruhi query lain atau penulisan data.
    Catatan Anda dapat melihat Scanned Data di bagian Query Properties halaman detail query. Untuk informasi lebih lanjut, lihat Lihat Properti Query.
  • Saran

    Temukan tahap yang membaca sejumlah besar data dan operator TableScan terkait. Anda dapat melihat Scanned Rows dan Scan Size dari sebuah tahap atau Input Rows dan Amount of Input Data dari operator TableScan di bagian Statistics dari rencana eksekusi pada tingkat tahap atau operator dalam diagnostik SQL AnalyticDB for MySQL. Untuk informasi lebih lanjut, lihat Statistik Status dan Statistik Operator.

    Setelah menemukan operator TableScan yang memindai sejumlah besar data, gunakan salah satu metode berikut untuk optimasi:
    • Tambahkan kondisi filter AND dalam query.
    • Atur ulang kondisi filter yang ada untuk mengurangi jumlah data yang difilter.
    • Periksa apakah kondisi filter yang tidak didorong ke bawah ada. Jika kondisi filter ini ada, gunakan saran optimasi dalam Kondisi Filter Tidak Didorong ke Bawah untuk melakukan optimasi.