All Products
Search
Document Center

ApsaraDB RDS:Pernyataan SQL lambat di ApsaraDB RDS for MySQL

Last Updated:Jun 21, 2026

Dalam skenario bisnis yang sama, faktor seperti pilihan arsitektur dan desain indeks dapat berdampak signifikan terhadap kinerja kueri. Desain yang tidak efisien sering menyebabkan pernyataan SQL lambat (kueri dengan durasi eksekusi panjang). Topik ini menjelaskan penyebab umum pernyataan SQL lambat dan menawarkan solusinya.

Eksepsi SQL

  • Penyebab dan gejala

    Eksepsi SQL dapat disebabkan oleh berbagai faktor, seperti desain skema tabel yang tidak efisien, tidak adanya indeks, atau jumlah baris yang dipindai terlalu besar.

    Di halaman SQL Explorer, Anda dapat melihat durasi eksekusi dan frekuensi pernyataan SQL lambat.

  • Solusi

    Optimalkan pernyataan SQL Anda sesuai kebutuhan bisnis. Untuk informasi lebih lanjut, lihat Optimasi SQL.

Kemacetan instance

  • Penyebab dan gejala

    Sebuah instans dapat mengalami kemacetan kinerja karena beberapa alasan:

    • Pertumbuhan volume bisnis yang terus-menerus tanpa melakukan scaling up pada instans.

    • Penuaan perangkat keras yang menyebabkan degradasi kinerja.

    • Peningkatan volume data dan perubahan struktur data secara konstan dapat menyebabkan pernyataan SQL yang sebelumnya cepat menjadi lambat.

    Anda dapat membuka halaman Monitoring and Alerts di Konsol, klik tab Standard Monitoring, lalu periksa penggunaan resource instans di bagian Resource Monitoring. Jika metrik utilisasi resource mendekati 100%, instans Anda mungkin telah mengalami kemacetan kinerja.

  • Solusi

    Menjalankan uji benchmark merupakan cara yang baik untuk menentukan apakah instans Anda mengalami kemacetan. Misalnya, Anda dapat menggunakan SysBench untuk menjalankan uji benchmark. Nilai queries per second (QPS) dan transactions per second (TPS) dalam skenario kompleks jarang melebihi nilai benchmark tersebut.

    Jika Anda memastikan bahwa instans telah mengalami kemacetan, kami menyarankan Anda melakukan upgrade spesifikasi instans. Untuk informasi lebih lanjut, lihat Ubah spesifikasi instans.

Peningkatan versi

  • Penyebab dan gejala

    Peningkatan versi instans dapat mengubah rencana eksekusi SQL. Jenis join dalam rencana eksekusi diurutkan dari yang paling hingga paling tidak efisien: system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > all. Untuk informasi lebih lanjut, lihat dokumentasi resmi MySQL.

    Jika permintaan SQL melambat setelah jenis join-nya berubah menjadi range atau index, dan aplikasi terus-menerus mencoba ulang permintaan tersebut, jumlah kueri SQL paralel dapat meningkat. Hal ini memperlambat pelepasan thread aplikasi, yang dapat menghabiskan Kolam koneksi dan memengaruhi seluruh layanan.

    Anda dapat membuka halaman Monitoring and Alerts di Konsol, klik tab Standard Monitoring, lalu periksa jumlah koneksi instans di bagian Resource Monitoring.

  • Solusi

    Analisis rencana eksekusi untuk memeriksa penggunaan indeks dan jumlah baris yang dipindai guna memperkirakan efisiensi kueri. Rekonstruksi pernyataan SQL atau sesuaikan indeks untuk meningkatkan kinerja kueri. Untuk informasi lebih lanjut, lihat Optimasi SQL.

Pengaturan parameter yang tidak tepat

  • Penyebab dan gejala

    Pengaturan parameter yang tidak tepat seperti innodb_buffer_pool_instances dan join_buffer_size dapat menurunkan kinerja.

    Anda dapat membuka halaman Parameters di Konsol dan klik tab Edit History untuk melihat riwayat modifikasi parameter instans.

  • Solusi

    Sesuaikan parameter terkait agar sesuai dengan skenario bisnis Anda.

Cache stampede

  • Penyebab dan gejala

    Cache dapat menangani sejumlah besar kueri, tetapi rasio hit cache tidak dijamin mencapai 100%. Cache stampede terjadi ketika beberapa entri cache kedaluwarsa secara bersamaan, sehingga mengarahkan volume besar kueri ke database dan menyebabkan degradasi kinerja.

    Anda dapat membuka halaman Monitoring and Alerts di Konsol, klik tab Standard Monitoring, lalu periksa metrik seperti rasio hit cache, QPS, dan TPS di bagian Engine Monitoring.

  • Solusi

    Gunakan fitur seperti Thread Pool, Fast Query Cache, dan Automatic SQL throttling untuk meningkatkan kinerja.

Operasi batch

  • Penyebab dan gejala

    Operasi impor, penghapusan, atau kueri data skala besar dapat memperlambat eksekusi pernyataan SQL.

    Anda dapat mengidentifikasi pernyataan terkait dengan memeriksa ruang disk, menggunakan SQL Explorer and Audit, atau meninjau log kueri lambat. Misalnya, periksa ukuran file binary log (binlog). Ukuran normal satu file binlog biasanya 500 MB. Jika ukuran file melebihi batas ini, periksa adanya anomali.

    Anda juga dapat membuka halaman Monitoring and Alerts di Konsol, klik tab Standard Monitoring, lalu periksa metrik seperti ruang disk, IOPS, dan transaksi di bagian Resource Monitoring dan Engine Monitoring.

    Pada contoh ini, File_size dari file mysql-bin mencapai 4.297.859.854 (sekitar 4 GB), yang jauh melampaui rentang normal dan menunjukkan adanya anomali.

  • Solusi

    Lakukan operasi skala besar selama jam sepi, atau pecah menjadi batch kecil yang dieksekusi secara berurutan.

Transaksi yang tidak ditutup

  • Penyebab dan gejala

    Transaksi yang tidak ditutup sering menjadi penyebab jika suatu tugas tiba-tiba melambat sementara utilisasi CPU dan IOPS tetap rendah serta jumlah sesi aktif terus meningkat.

  • Solusi

    Periksa lock yang menyebabkan konflik transaksi dan hentikan pernyataan SQL terkait.

Tugas terjadwal

  • Penyebab dan gejala

    Jika beban instans menunjukkan pola perubahan yang teratur seiring waktu, kemungkinan besar disebabkan oleh tugas terjadwal.

    Catatan

    Anda dapat melihat informasi pemantauan terkait di tab Standard Monitoring pada halaman Monitoring and Alerts.

  • Solusi

    Sesuaikan waktu eksekusi tugas terjadwal tersebut. Kami menyarankan menjalankannya selama jam sepi.

Rangkuman

Anda dapat mengidentifikasi pernyataan SQL lambat pada instans ApsaraDB RDS dengan menggunakan metode berikut:

Fitur-fitur ApsaraDB RDS ini membantu Anda mengidentifikasi dan menyelesaikan secara otomatis masalah yang disebabkan oleh pernyataan SQL lambat.