全部产品
Search
文档中心

Database Autonomy Service:Tata Kelola Kueri

更新时间:Jul 06, 2025

Database Autonomy Service (DAS) menyediakan fitur tata kelola kueri. Setiap hari pada pukul 01:00:00, sistem secara otomatis menganalisis semua kueri lambat yang dijalankan pada instance database Anda selama hari sebelumnya dan menambahkan tag ke template SQL berdasarkan tingkat keparahan. Hal ini membantu mengkategorikan dan mengoptimalkan kueri lambat. DAS juga memberikan saran untuk mengoptimalkan template SQL serta memungkinkan Anda mengekspor data tata kelola kueri.

Prasyarat

  • Instance database yang ingin dikelola harus termasuk salah satu jenis berikut:

    • ApsaraDB RDS for MySQL

    • PolarDB for MySQL

    • ApsaraDB MyBase for MySQL

    • ApsaraDB RDS for PostgreSQL

  • Instance database harus berada di wilayah Tiongkok Daratan, Tiongkok (Hong Kong), atau Singapura.

    Catatan

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

Batasan

  • Fitur tata kelola kueri diimplementasikan dengan menganalisis data luring pada hari setelah transaksi (T+1). Sebagai contoh, jika Anda menambahkan tag Optimization Not Required ke template SQL, template tersebut akan dihapus dari daftar template SQL 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 dijalankan. Ini menunjukkan bahwa jumlah maksimum template SQL lambat dari sebuah 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 dan kepada mana DAS secara otomatis menambahkan tag Ignored atau kepada mana Anda menambahkan tag Optimization Not Required.

Ignored

Template SQL yang menyebabkan kueri lambat dan kepada mana 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. Masuk ke Konsol DAS.
  2. Di panel navigasi sebelah kiri, pilih Intelligent O&M Center > Query Governance.

  3. Di halaman Query Governance, lihat 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 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 Enterprise Edition.

    • 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 dijalankan pada setiap instance. Ini membantu mengidentifikasi instance dengan jumlah kueri lambat terbesar.

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

      Disarankan untuk segera memperhatikan instance dengan jumlah kueri lambat terbesar dan instance di mana optimasi SQL paling efektif.

    • SQL to Be Optimized: Anda dapat menentukan kondisi filter untuk menyaring pernyataan SQL yang ingin dikelola.

      Catatan

      Anda dapat menentukan kondisi filter berikut: nama database, kata kunci SQL, tag aturan, dan nama pengguna akun database. Keempat kondisi filter dievaluasi menggunakan operator AND.

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

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

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

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

      • Anda dapat menemukan pernyataan SQL sampel dan klik Suggestions di kolom Actions untuk melihat saran tentang tata kelola kueri.

      • Anda dapat menemukan pernyataan SQL sampel 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 pernyataan SQL sampel untuk menambahkan tag ke pernyataan SQL tersebut sekaligus.

      • Anda dapat menemukan pernyataan SQL sampel dan klik Sample di kolom Actions untuk melihat log kueri lambat dari pernyataan SQL.

      • Anda dapat menemukan pernyataan SQL sampel dan klik Trend di kolom Actions untuk melihat detail analisis log kueri lambat dari pernyataan SQL. 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: Anda dapat menentukan kondisi filter untuk menyaring pernyataan SQL yang ingin dilihat.

      Catatan
      • Untuk melihat Failed SQL, Anda harus membeli DAS Enterprise Edition.

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

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

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

      Anda dapat menemukan pernyataan SQL sampel dan klik Sample di kolom Actions untuk melihat detail pernyataan SQL.

Praktik terbaik

  • Gunakan tag untuk mengidentifikasi template SQL yang perlu dioptimalkan.

    Fitur tata kelola kueri mengklasifikasikan SQL templates that cause slow queries menjadi dua kategori: template SQL yang tidak perlu dioptimalkan dan template SQL yang perlu dioptimalkan. Anda dapat menggunakan tag untuk menyaring template SQL dan mengoptimalkan template SQL berdasarkan tingkat keparahan yang ditunjukkan 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 kepada mana 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 implementasi 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 seperti 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. Ini mengurangi performa 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 dalam 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

    Subkueri Termuat

    Normal

    Template SQL yang mengandung pernyataan SQL untuk subkueri. 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 mengimplementasikan metode paging dalam. Kami merekomendasikan agar Anda menulis ulang template SQL dan menggunakan operator JOIN sebagai ganti operator LIMIT.

    WITHOUT_PREDICATE

    Tidak Ada 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.

    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 dijalankan pada waktu tertentu setiap hari.

    Disarankan untuk segera memperhatikan template SQL yang perlu dioptimalkan. Sebelum sistem menganalisis kueri lambat setiap hari, Anda dapat secara manual menambahkan salah satu tag yang dijelaskan dalam tabel berikut ke template SQL. Ini dapat mengurangi jumlah template 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.

    • Anda dapat menentukan kondisi berbeda untuk menyaring template SQL. Misalnya, Anda dapat menyaring template SQL berdasarkan database atau tag aturan, membuat tugas unduhan, dan kemudian menetapkan pemilik berbeda untuk mengoptimalkan template SQL berdasarkan database atau tag aturan.

    • Anda juga dapat memilih beberapa template SQL dan mengekspor data dari template SQL yang dipilih.

  • Berbagi data.

    Anda dapat menyaring template SQL dan membagikan template SQL yang difilter kepada pemilik dari template SQL terkait. Anda dapat menggunakan salah satu metode berikut untuk berbagi data:

    • Pilih template SQL dan klik Batch Sharing di bagian bawah. Sistem menghasilkan URL. Di halaman yang dituju oleh URL tersebut, informasi tentang template SQL yang dipilih ditampilkan. Jika Anda diberi 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 menghasilkan URL. Di halaman yang dituju oleh URL tersebut, informasi tentang template SQL yang difilter ditampilkan. Jika Anda diberi izin pada DAS, Anda dapat mengunjungi halaman tersebut untuk melihat informasi tentang semua template SQL yang difilter.

Operasi API Terkait

Operasi

Deskripsi

CreateQueryOptimizeTag

Menambahkan satu atau lebih tag ke template SQL.

GetQueryOptimizeExecErrorStats

Mengkueri template SQL yang gagal dijalankan.

GetQueryOptimizeExecErrorSample

Mengkueri pernyataan SQL gagal dalam sebuah template SQL.

GetQueryOptimizeSolution

Mengkueri saran yang diberikan oleh fitur tata kelola kueri untuk mengoptimalkan sebuah template SQL.

GetQueryOptimizeRuleList

Mengkueri daftar tag yang ditambahkan oleh fitur tata kelola kueri ke kueri lambat pada instance database.

GetQueryOptimizeDataTrend

Mengkueri data tren dari fitur tata kelola kueri.

GetQueryOptimizeDataTop

Mengkueri informasi tentang instance database berperforma terbaik dan terburuk berdasarkan data tata kelola kueri.

GetQueryOptimizeDataStats

Mengkueri informasi tentang template SQL berdasarkan data tata kelola kueri.

GetQueryOptimizeTag

Mengkueri tag dari sebuah template SQL.

GetQueryOptimizeShareUrl

Mengkueri URL berbagi dari fitur tata kelola kueri.