All Products
Search
Document Center

ApsaraDB RDS:Tata Kelola Kueri

Last Updated:May 13, 2026

Database Autonomy Service (DAS) menyediakan fitur tata kelola kueri untuk RDS MySQL. Fitur ini menggunakan analisis data offline untuk menganalisis dan secara otomatis memberi tag semua kueri SQL lambat dari hari sebelumnya. Proses ini berjalan setiap hari pukul 01.00, membantu Anda mengkategorikan dan memprioritaskan kueri untuk dioptimalkan.

Prasyarat

  • Instans Anda harus merupakan salah satu edisi berikut:

    • RDS MySQL 8.4 Edisi Ketersediaan Tinggi atau Edisi Kluster

    • RDS MySQL 8.0 Edisi Ketersediaan Tinggi, Edisi Perusahaan tiga node, atau Edisi Kluster

    • RDS MySQL 5.7 Edisi Ketersediaan Tinggi, Edisi Perusahaan tiga node, atau Edisi Kluster

    • RDS MySQL 5.6 Edisi Ketersediaan Tinggi

    • RDS MySQL 5.5 Edisi Ketersediaan Tinggi

  • Fitur ini saat ini mendukung instansiasi database di wilayah Tiongkok daratan, Tiongkok (Hong Kong), dan Singapura.

    Catatan

    Dukungan untuk instansiasi database di wilayah Tiongkok (Hong Kong) dan Singapura ditambahkan pada 1 April 2023.

Batasan

  • Tata kelola kueri menggunakan analisis offline T+1. Jika Anda memberi tag kueri sebagai Optimization Not Required, perubahan jumlah Optimizable SQL akan muncul keesokan harinya.

  • Anda tidak dapat menonaktifkan tag SQL bawaan yang telah ditentukan di DAS.

  • Untuk setiap instansiasi database, DAS hanya menganalisis 200 kueri SQL lambat teratas berdasarkan jumlah eksekusi. Oleh karena itu, jumlah maksimum Slow SQL Templates adalah 200.

Konsep utama

Istilah

Deskripsi

Optimizable SQL

Setelah mengecualikan SQL statements that do not require optimization dari semua pernyataan SQL lambat, pernyataan yang tersisa adalah Optimizable SQL.

SQL Not Requiring Optimization

Mencakup kueri SQL yang secara otomatis diberi tag oleh DAS sebagai Ignored dan kueri yang diberi tag secara manual oleh pengguna sebagai Optimization Not Required.

Ignored

DAS secara otomatis memberi tag pernyataan SQL sebagai Optimization Not Required, seperti pernyataan yang dimulai dengan show, create, xa, commit, rollback, select sleep, atau explain.

Prosedur

  1. Buka halaman Instances. Di bilah navigasi atas, pilih wilayah tempat instans RDS berada. Lalu, temukan instans RDS tersebut dan klik ID instansnya.

  2. Di panel navigasi sebelah kiri, pilih Autonomy Services> Slow Query Logs.

  3. Klik tab Query Governance.

  4. Di halaman Query Governance, lihat hasil analisis.

    Anda dapat melihat hasil tata kelola kueri untuk instans tertentu dengan memfilter berdasarkan rentang waktu, wilayah, dan engine, atau dengan memasukkan ID instans.

    • Query Governance Overview: Lihat data hasil setelah sistem memberi tag dan mengklasifikasikan templat SQL.

      Catatan

      DAS hanya menghitung Failed SQL Executions pada instans yang telah mengaktifkan DAS Enterprise Edition.

    • Query Governance Trend: Lihat tren hasil tata kelola kueri selama rentang waktu yang dipilih.

    • Top Rankings: Lihat daftar Best-performing Instances dan Worst-performing Instances.

      • Worst-performing Instances: Mengurutkan instans berdasarkan jumlah eksekusi kueri lambat secara menurun untuk membantu Anda mengidentifikasi instans yang paling bermasalah.

      • Best-performing Instances: Mengurutkan instans berdasarkan perubahan jumlah eksekusi kueri lambat secara menaik. Nilai negatif menunjukkan penurunan jumlah eksekusi kueri lambat (hasil optimasi baik), sedangkan nilai positif menunjukkan peningkatan. Hal ini membantu Anda mengidentifikasi instans dengan hasil tata kelola terbaik.

      DAS merekomendasikan agar Anda fokus pada peringkat untuk Optimizable SQL.

    • SQL to Be Optimized: Anda dapat mengatur kondisi filter untuk mengidentifikasi pernyataan SQL yang memerlukan tata kelola.

      Catatan

      Filter-filter ini digabungkan dengan logika AND.

      • Pisahkan beberapa nama database dengan koma (,) untuk menggabungkannya dengan logika OR.

      • Pisahkan beberapa kata kunci SQL dengan spasi untuk menggabungkannya dengan logika AND.

      • Pisahkan beberapa nama pengguna database dengan koma (,) untuk menggabungkannya dengan logika OR.

      • Memilih beberapa tag aturan akan menggabungkannya dengan logika OR.

      • Pada kolom Actions untuk sampel SQL target, klik Suggestions untuk melihat saran tata kelola terperinci.

      • Pada kolom Actions untuk sampel SQL target, klik Add Tag untuk memberi tag pernyataan SQL secara manual. Untuk informasi lebih lanjut tentang tag, lihat Manual Tagging.

        Anda juga dapat memilih dan memberi tag beberapa pernyataan SQL sekaligus.

      • Pada kolom Actions untuk sampel SQL target, klik Samples untuk melihat detail sampel log kueri lambat untuk pernyataan SQL tersebut.

      • Pada kolom Actions untuk sampel SQL target, klik Trend untuk melihat detail analisis log kueri lambat untuk pernyataan SQL tersebut. Untuk informasi lebih lanjut tentang analisis log kueri lambat, lihat Slow query logs.

      Anda dapat mengekspor dan membagikan data pernyataan SQL yang dapat dioptimalkan sesuai kebutuhan. Untuk informasi lebih lanjut, lihat best practices.

    • Failed SQL: Anda dapat mengatur kondisi filter untuk mengidentifikasi pernyataan SQL yang ingin Anda lihat.

      Catatan
      • DAS hanya menghitung Failed SQL pada instans yang telah mengaktifkan DAS Enterprise Edition.

      • Anda dapat memfilter berdasarkan nama database dan kata kunci SQL. Kedua filter ini digabungkan dengan logika AND.

        • Beberapa nama database dipisahkan dengan koma (,) dan digabungkan dengan logika OR.

        • Beberapa kata kunci SQL dipisahkan dengan spasi dan digabungkan dengan logika AND.

      Pada kolom Actions untuk sampel SQL target, klik Samples untuk melihat detail sampel untuk pernyataan SQL tersebut.

Praktik terbaik

Pemberian tag untuk optimasi

Logika tata kelola inti mengklasifikasikan overall slow SQL queries menjadi dua kategori: Optimization Not Required dan Optimizable SQL. Anda dapat menggunakan tag SQL berikut untuk memfilter dan mengelola kueri ini berdasarkan prioritas.

ID

Nama tag

Tingkat

Rekomendasi

Deskripsi

NEW_SQL

New slow SQL

Critical

✔️

Kueri SQL lambat yang belum pernah muncul dalam tujuh hari terakhir.

DAS_IGNORE

DAS ignored

Notice

DAS secara otomatis memberi tag kueri sebagai tidak memerlukan optimasi. Contohnya termasuk pernyataan SQL yang dimulai dengan show, create, xa, commit, rollback, select sleep, atau explain.

FUZZY_LIKE

Fuzzy LIKE query

Notice

Klausa like digunakan untuk pencocokan kabur, sehingga mencegah penggunaan indeks.

HAS_EXPR

Contains expression

Notice

Kueri berisi ekspresi. Kolom yang terlibat dalam perhitungan tidak dapat menggunakan indeks.

LARGE_IN_LIST

Large IN list

Notice

Klausa IN berisi lebih dari 200 elemen, yang kemungkinan besar dihasilkan oleh program. Indeks tidak dapat digunakan pada kolom yang terlibat.

SELECT_STAR

SELECT full column

Notice

Saat menggunakan SELECT, tentukan hanya bidang yang diperlukan untuk menghindari masalah performa dan pemborosan sumber daya akibat pengembalian kolom yang tidak perlu.

INDEX_ADVISOR

Index suggestion

Notice

✔️

Saran untuk membuat indeks guna mempercepat eksekusi SQL.

COMPLEX_JOIN

Complex JOIN

Notice

Jangan join lebih dari tiga tabel. Bidang yang Anda join harus memiliki tipe data yang identik. Untuk join multi-tabel, pastikan bidang join telah diindeks.

CROSS_DB

Cross-database query

Notice

Saat melakukan migrasi database dan tabel lintas instans, kueri lintas database mungkin menjadi tidak tersedia.

SUBQUERY

Contains subquery

Notice

Kueri berisi subkueri. Pertimbangkan untuk menulis ulang dengan JOIN untuk performa yang lebih baik.

DEEP_PAGING

Deep paging

Critical

Kueri menggunakan klausa LIMIT untuk halaman dalam. Kami merekomendasikan menulis ulang kueri dengan join.

WITHOUT_PREDICATE

No predicate

Critical

✔️

Pernyataan tidak berisi predikat. Periksa apakah melibatkan pemindaian tabel penuh.

NULL_COMPARE

NULL match error

Critical

Gunakan IS NULL atau IS NOT NULL untuk memeriksa nilai NULL, karena perbandingan langsung antara nilai dan NULL selalu menghasilkan NULL.

COUNT_NOT_STAR

Improper COUNT syntax

Critical

Gunakan COUNT(*) alih-alih count(column_name) atau count(constant). count(*) adalah sintaks standar untuk menghitung baris sebagaimana didefinisikan dalam SQL92. Sintaks ini independen terhadap database dan tidak terpengaruh oleh nilai NULL atau non-NULL. count(column_name) tidak menghitung baris di mana kolom memiliki nilai NULL.

LARGE_ROWS_EXAMINED

Excessive rows scanned

Notice

Kueri memindai lebih dari 50.000 baris rata-rata. Pemindaian berlebihan mengonsumsi lebih banyak sumber daya, memperlambat kueri, dan dapat memengaruhi performa database secara keseluruhan.

Catatan

Pertimbangkan untuk menggunakan kondisi filter yang lebih selektif.

LARGE_ROWS_SENT

Excessive rows returned

Notice

Kueri mengembalikan lebih dari 5.000 baris rata-rata. Pertimbangkan untuk mengurangi jumlah baris yang dikembalikan.

NO_ADVICE

No suggestion

Notice

Tidak tersedia saran analisis.

PERIOD_SQL

Periodic SQL

Notice

Dieksekusi pada waktu tetap setiap hari.

DAS merekomendasikan agar Anda fokus pada Optimizable SQL. Anda dapat menggunakan tabel berikut untuk memberi tag pernyataan SQL sebagai Optimization Not Required guna terus mengurangi jumlah pernyataan dalam daftar Optimizable SQL. Tag SQL berikut mendukung pemberian tag manual.

ID

Nama tag

Tingkat

Deskripsi

USER_IGNORE

No need to optimize

Notice

Setelah Anda menambahkan tag ini, DAS mengecualikan kueri dari statistik Optimizable SQL keesokan harinya.

DAS_IMPORTANT

Important SQL

Notice

Menandai kueri SQL sebagai penting.

DAS_NOT_IMPORTANT

Not important SQL

Notice

Menandai kueri SQL sebagai tidak penting.

DAS_IN_PLAN

Optimization planned

Notice

Menandai kueri SQL sebagai dijadwalkan untuk dioptimalkan.

Ekspor data

  • Anda dapat mengklik Create Export Task untuk mengunduh semua data yang saat ini ditampilkan di tampilan SQL Details.

    Catatan

    Data dari tugas ekspor disimpan selama tiga hari.

  • Anda dapat membuat tugas unduh terpisah dengan menggunakan filter berbeda, seperti berdasarkan instans atau aturan. Tugas-tugas ini kemudian dapat diberikan kepada anggota tim yang berbeda untuk optimasi.

  • Anda juga dapat memilih catatan SQL tertentu. Tugas ekspor hanya akan mencakup catatan yang dipilih tersebut.

Berbagi data

Untuk membantu Anda berbagi kueri SQL lambat yang telah difilter dengan anggota tim yang bertanggung jawab, DAS menyediakan dua opsi berbagi:

  • Anda dapat memilih beberapa catatan SQL dan mengklik Batch Sharing. Sistem akan menghasilkan tautan pendek. Tautan yang dihasilkan hanya menampilkan catatan SQL yang dipilih kepada pengguna yang memiliki izin Konsol DAS.

  • Anda juga dapat mengklik tombol Export di sebelah Share. Sistem akan menghasilkan tautan pendek. Pengguna yang memiliki izin Konsol DAS dan membuka tautan tersebut akan melihat semua detail yang saat ini ditampilkan di halaman Anda, dengan filter yang sama diterapkan.