全部产品
Search
文档中心

ApsaraDB RDS:Gunakan fitur tata kelola kueri untuk instance ApsaraDB RDS for MySQL

更新时间:Jul 02, 2025

Database Autonomy Service (DAS) menyediakan fitur tata kelola kueri yang secara otomatis menganalisis semua kueri lambat pada instance ApsaraDB RDS for MySQL Anda dari hari sebelumnya. Sistem menambahkan tag ke pernyataan SQL berdasarkan tingkat keparahan setiap hari pukul 01:00, memungkinkan pengklasifikasian pernyataan SQL tersebut. DAS juga memberikan rekomendasi optimisasi dan opsi untuk mengekspor data tata kelola kueri. Topik ini menjelaskan cara menggunakan fitur tata kelola kueri untuk instance RDS.

Prasyarat

  • Instance RDS Anda menjalankan salah satu versi MySQL dan edisi RDS berikut:

    • MySQL 8.0 pada Edisi Ketersediaan Tinggi RDS, Edisi Perusahaan RDS, atau Edisi Kluster RDS

    • MySQL 5.7 pada Edisi Ketersediaan Tinggi RDS, Edisi Perusahaan RDS, atau Edisi Kluster RDS

    • MySQL 5.6 pada Edisi Ketersediaan Tinggi RDS

    • MySQL 5.5 pada Edisi Ketersediaan Tinggi RDS

  • Instance database harus diterapkan di wilayah daratan Tiongkok, wilayah China (Hong Kong), atau wilayah Singapura.

    Catatan

    Mulai 1 April 2023, fitur tata kelola kueri didukung untuk instance database yang berada di wilayah China (Hong Kong) dan Singapura.

Batasan

  • Fitur tata kelola kueri diimplementasikan dengan menganalisis data luring sehari setelah transaksi (T+1). Sebagai contoh, jika Anda menambahkan tag Optimization Not Required ke template SQL, template tersebut akan dihapus dari daftar template yang perlu dioptimalkan pada hari berikutnya.

  • Tag yang ditambahkan oleh sistem tidak dapat diubah atau dihapus.

  • Untuk setiap instance database, DAS hanya menghitung dan menganalisis 200 kueri lambat yang paling sering dieksekusi. Ini menunjukkan bahwa jumlah maksimum template SQL lambat dari instance database adalah 200.

Istilah

Istilah

Deskripsi

Optimizable SQL

Template SQL yang menyebabkan kueri lambat dan perlu dioptimalkan.

SQL templates that do not need to be optimized

Template SQL yang menyebabkan kueri lambat, ke mana DAS secara otomatis menambahkan tag Ignored, atau ke mana Anda menambahkan tag Optimization Not Required.

Ignored

Template SQL yang menyebabkan kueri lambat dan kepadanya DAS secara otomatis menambahkan tag Optimization Not Required. Template SQL ini mencakup template SQL yang dimulai dengan pernyataan SHOW, CREATE, XA, COMMIT, ROLLBACK, SELECT SLEEP, atau EXPLAIN.

Prosedur

  1. Buka halaman Instance. Di bilah navigasi atas, pilih wilayah tempat instance RDS berada. Temukan instance RDS dan klik ID instance tersebut.

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

  3. Pada halaman yang muncul, klik tab Query Governance.

  4. Di tab Query Governance, tinjau hasil tata kelola kueri.

    Anda dapat menentukan waktu, wilayah, dan mesin database, serta memasukkan satu atau lebih ID instance untuk melihat hasil tata kelola kueri dari instance database tertentu yang ditampilkan di bagian-bagian berikut:

    • Overview: Bagian ini menampilkan hasil tata kelola kueri setelah template SQL dikategorikan dan tag ditambahkan ke template SQL.

      Catatan

      Untuk melihat Failed SQL Executions, Anda harus membeli DAS Edisi Perusahaan.

    • Trend chart: Bagian ini menampilkan tren perubahan dalam hasil tata kelola kueri dalam rentang waktu tertentu.

    • Top Rankings: Bagian ini menampilkan grafik Best-performing Instances dan Worst-performing Instances.

      • Instance Berperforma Terburuk: Instance database ditampilkan dalam urutan menurun berdasarkan jumlah kueri lambat yang dieksekusi pada setiap instance. Ini membantu Anda mengidentifikasi instance dengan jumlah kueri lambat terbesar.

      • Instance Berperforma Terbaik: Instance database ditampilkan dalam urutan menaik berdasarkan perubahan jumlah kueri lambat yang dieksekusi pada setiap instance. Nilai negatif menunjukkan penurunan jumlah kueri lambat dibandingkan hari sebelumnya, sedangkan nilai positif menunjukkan peningkatan. Ini membantu Anda mengidentifikasi instance di mana optimisasi SQL paling efektif.

      Fokuslah pada instance dengan jumlah kueri lambat terbesar dan instance di mana optimisasi SQL paling efektif.

    • SQL to Be Optimized: Tentukan kondisi filter untuk menyaring pernyataan SQL yang ingin Anda kelola.

      Catatan

      Kondisi filter yang dapat ditentukan meliputi nama database, kata kunci SQL, tag aturan, dan nama pengguna akun database. Keempat kondisi tersebut dievaluasi menggunakan operator AND.

      • Pisahkan beberapa nama database dengan koma (,). Nama-nama database tersebut dievaluasi menggunakan operator OR.

      • Pisahkan beberapa kata kunci SQL dengan spasi. Kata-kata kunci tersebut dievaluasi menggunakan operator AND.

      • Pisahkan nama pengguna dari beberapa akun database dengan koma (,). Nama-nama pengguna tersebut dievaluasi menggunakan operator OR.

      • Anda dapat memilih beberapa tag aturan. Aturan yang dipilih dievaluasi menggunakan operator OR.

      • Temukan contoh pernyataan SQL dan klik Suggestions di kolom Actions untuk melihat saran tentang tata kelola kueri.

      • Temukan contoh pernyataan SQL dan klik Add Tag di kolom Actions untuk menambahkan tag ke pernyataan SQL. Untuk informasi lebih lanjut tentang tag, lihat deskripsi tag dalam topik ini.

        Anda juga dapat memilih beberapa contoh pernyataan SQL untuk menambahkan tag secara bersamaan.

      • Temukan contoh pernyataan SQL dan klik Sample di kolom Actions untuk melihat log kueri lambat dari pernyataan SQL tersebut.

      • Temukan contoh pernyataan SQL dan klik Trend di kolom Actions untuk melihat detail analisis log kueri lambat dari pernyataan SQL tersebut. Untuk informasi lebih lanjut tentang cara menganalisis dan mengelola kueri lambat, lihat Log Kueri Lambat.

      Anda dapat mengekspor dan berbagi data template SQL yang perlu dioptimalkan sesuai kebutuhan bisnis Anda. Untuk informasi lebih lanjut, lihat bagian Praktik Terbaik dari topik ini.

    • Failed SQL: Tentukan kondisi filter untuk menyaring pernyataan SQL yang ingin Anda lihat.

      Catatan
      • Untuk melihat Failed SQL, Anda harus membeli DAS Edisi Perusahaan.

      • Anda dapat menentukan nama database dan kata kunci SQL untuk menyaring pernyataan SQL. Kondisi filter tersebut dievaluasi menggunakan operator AND.

        • Pisahkan beberapa nama database dengan koma (,). Nama-nama database tersebut dievaluasi menggunakan operator OR.

        • Pisahkan beberapa kata kunci SQL dengan spasi. Kata-kata kunci tersebut dievaluasi menggunakan operator AND.

      Temukan contoh pernyataan SQL dan klik Sample di kolom Actions untuk melihat detail pernyataan SQL tersebut.

Praktik Terbaik

Gunakan tag untuk mengidentifikasi pernyataan SQL yang memerlukan optimisasi

Fitur tata kelola kueri mengklasifikasikan SQL statements that cause slow queries ke dalam dua kategori: pernyataan SQL yang memerlukan optimisasi dan pernyataan SQL yang tidak memerlukan optimisasi. Gunakan tag untuk mencari pernyataan SQL dan optimalkan berdasarkan tingkat keparahan yang ditentukan oleh tag. Tabel berikut menjelaskan tag yang didukung oleh DAS.

ID

Nama

Tingkat keparahan

Perhatian segera diperlukan

Deskripsi

NEW_SQL

SQL Lambat Baru

Kritis

✔️

Template SQL yang menyebabkan kueri lambat dalam tujuh hari terakhir.

DAS_IGNORE

Diabaikan

Normal

Template SQL kepadanya DAS secara otomatis menambahkan tag Optimization Not Required. Template SQL ini mencakup template SQL yang dimulai dengan pernyataan SHOW, CREATE, XA, COMMIT, ROLLBACK, SELECT SLEEP, atau EXPLAIN.

FUZZY_LIKE

Kueri LIKE

Normal

Template SQL di mana operator LIKE digunakan untuk menerapkan pencocokan fuzzy. Indeks tidak dapat digunakan dalam kueri yang mengandung operator LIKE.

HAS_EXPR

Ekspresi Termuat

Normal

Template SQL yang mengandung ekspresi perhitungan. Indeks tidak dapat digunakan pada kolom yang terlibat.

LARGE_IN_LIST

Kueri Daftar Besar

Normal

Template SQL di mana lebih dari 200 elemen ditentukan untuk operator IN. Template SQL semacam itu mungkin dihasilkan secara otomatis oleh program. Indeks tidak dapat digunakan pada kolom yang terlibat.

SELECT_STAR

Kueri Kolom Penuh

Normal

Template SQL di mana satu atau lebih bidang ditentukan dalam klausa SELECT, tetapi tidak ada kondisi yang ditentukan. Jika Anda tidak menentukan kondisi, sumber daya terbuang untuk menanyakan data yang tidak perlu. Hal ini mengurangi kinerja kueri.

INDEX_ADVISOR

Saran Indeks

Normal

✔️

Template SQL yang digunakan untuk menanyakan data dari tabel yang tidak diindeks. Kami merekomendasikan agar Anda membuat dan menggunakan indeks untuk mempercepat kueri SQL.

COMPLEX_JOIN

Kueri JOIN Kompleks

Normal

Template SQL di mana operator JOIN digunakan untuk menggabungkan lebih dari tiga tabel. Anda tidak dapat menggunakan operator JOIN untuk menggabungkan lebih dari tiga tabel. Tipe data dari bidang yang ditentukan dalam tabel yang ingin Anda gabungkan harus sama. Sebelum Anda menggabungkan beberapa tabel, pastikan Anda membuat indeks untuk bidang yang ingin Anda tanyakan di tabel.

CROSS_DB

Kueri Lintas Database

Normal

Template SQL yang digunakan untuk menanyakan data di database yang berbeda. Setelah database atau tabel dipindahkan dari instance database asli ke instance database lain, kueri lintas database mungkin gagal.

SUBQUERY

Subquery Termuat

Normal

Template SQL yang mengandung pernyataan SQL untuk subquery. Kami merekomendasikan agar Anda menulis ulang template SQL dan menggunakan operator JOIN untuk membuat kueri lebih efisien.

DEEP_PAGING

Paging Dalam

Kritis

Template SQL di mana operator LIMIT digunakan untuk menerapkan metode paging dalam. Kami merekomendasikan agar Anda menulis ulang template SQLdan menggunakan operator JOIN sebagai pengganti operator LIMIT.

WITHOUT_PREDICATE

Tanpa Predikat

Kritis

✔️

Template SQL yang tidak mengandung predikat. Periksa apakah bisnis Anda memerlukan pemindaian tabel penuh. Jika bisnis Anda tidak memerlukan pemindaian tabel penuh, tulis ulang template SQL tersebut.

NULL_COMPARE

Kesalahan Pencocokan Null

Kritis

Template SQL di mana fungsi ISNULL() digunakan untuk memeriksa nilai NULL. Anda tidak dapat menggunakan fungsi ISNULL() untuk menemukan nilai NULL karena NULL dikembalikan jika salah satu nilainya adalah NULL.

COUNT_NOT_STAR

Sintaks COUNT Tidak Valid

Kritis

Template SQL yang mengandung sintaks COUNT tidak valid. Gunakan COUNT(*) untuk menanyakan jumlah catatan data. Jangan gunakan sintaks COUNT (Nama kolom) atau COUNT (Konstanta). COUNT(*) adalah sintaks standar yang didefinisikan dalam SQL92 untuk menanyakan jumlah baris. Sintaks COUNT(*) menghitung jumlah catatan data yang mencakup nilai NULL dan dapat dieksekusi pada semua jenis database. Sintaks COUNT (Nama kolom) tidak menghitung nilai NULL.

LARGE_ROWS_EXAMINED

Baris Diperiksa Berlebihan

Normal

Template SQL yang digunakan untuk memindai lebih dari 50.000 baris secara rata-rata. Jumlah baris yang lebih besar mengonsumsi jumlah sumber daya database yang lebih besar. Hal ini menyebabkan kueri SQL berjalan lambat dan memengaruhi kueri SQL lainnya.

Catatan

Kami merekomendasikan agar Anda menggunakan kondisi filter yang lebih spesifik dalam pernyataan SQL.

LARGE_ROWS_SENT

Baris Dikembalikan Berlebihan

Normal

Template SQL yang digunakan dalam kueri di mana lebih dari 5.000 baris data secara rata-rata dikembalikan. Kami merekomendasikan agar Anda memodifikasi template SQL untuk mengurangi jumlah baris yang dikembalikan.

NO_ADVICE

Tidak Ada Saran

Normal

Tidak ada saran yang diberikan.

PERIOD_SQL

Periodik

Normal

Template SQL yang dieksekusi pada waktu tertentu setiap hari.

Selesaikan pernyataan SQL yang memerlukan optimisasi sesegera mungkin. Sebelum sistem menganalisis kueri SQL lambat, Anda dapat menambahkan tag ke pernyataan SQL yang tidak memerlukan optimisasi untuk mengurangi jumlah pernyataan SQL yang perlu dioptimalkan.

ID

Nama

Tingkat Keparahan

Deskripsi

USER_IGNORE

Tidak Perlu Dioptimalkan

Normal

Setelah Anda menambahkan tag ini ke template SQL, template SQL tersebut tidak akan dihitung dalam template SQL yang perlu dioptimalkan pada hari berikutnya.

DAS_IMPORTANT

SQL Prioritas Tinggi

Normal

Tambahkan tag ini ke template SQL yang memiliki prioritas tinggi.

DAS_NOT_IMPORTANT

SQL Prioritas Rendah

Normal

Tambahkan tag ini ke template SQL yang memiliki prioritas rendah.

DAS_IN_PLAN

Optimalkan Nanti

Normal

Tambahkan tag ini ke template SQL yang akan dioptimalkan nanti.

Ekspor Data

  • Klik Export di pojok kanan atas bagian SQL Details untuk mengekspor data dari template SQL yang difilter.

    Catatan

    Data yang diekspor tersedia untuk diunduh selama tiga hari.

  • Tentukan kondisi berbeda untuk menyaring template SQL. Misalnya, filter berdasarkan database atau tag aturan, buat tugas unduhan, dan tetapkan pemilik berbeda untuk mengoptimalkan template SQL berdasarkan database atau tag aturan.

  • Pilih beberapa template SQL dan ekspor data dari template SQL yang dipilih.

Berbagi Data

Filter template SQL dan bagikan template SQL yang telah difilter kepada pemilik yang sesuai. Gunakan salah satu metode berikut untuk berbagi data:

  • Pilih template SQL dan klik Batch Sharing di bagian bawah. Sistem akan menghasilkan URL. Di halaman yang dituju oleh URL tersebut, informasi tentang template SQL yang dipilih akan ditampilkan. Jika Anda memiliki izin pada DAS, Anda dapat mengunjungi halaman tersebut untuk melihat informasi tentang template SQL yang dipilih.

  • Tentukan kondisi untuk menyaring template SQL dan klik Share di sebelah kanan Export. Sistem akan menghasilkan URL. Di halaman yang dituju oleh URL tersebut, informasi tentang template SQL yang difilter akan ditampilkan. Jika Anda memiliki izin pada DAS, Anda dapat mengunjungi halaman tersebut untuk melihat informasi tentang semua template SQL yang difilter.