全部产品
Search
文档中心

Database Autonomy Service:Tata Kelola Kueri

更新时间:Jun 28, 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 dieksekusi di instance database Anda selama hari sebelumnya dan menambahkan tag ke template SQL berdasarkan tingkat keparahan. Fitur ini membantu mengategorikan serta mengoptimalkan kueri lambat. DAS juga memberikan rekomendasi untuk mengoptimalkan template SQL dan memungkinkan Anda mengekspor data tata kelola kueri.

Prasyarat

  • Instance database tujuan adalah kluster PolarDB for MySQL.

  • Instance database diterapkan di wilayah daratan Tiongkok, wilayah Tiongkok (Hong Kong), atau wilayah 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 sehari 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 menganalisis 200 kueri lambat yang paling sering dieksekusi. Ini berarti 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 bilah navigasi sebelah kiri, pilih Intelligent O&M Center > Instance Monitoring.

  3. Di halaman yang muncul, temukan instance database yang ingin Anda kelola dan klik ID instance. Halaman detail instance akan terbuka.

  4. Di bilah navigasi sebelah kiri, pilih Request Analysis > Slow Logs > Query Governance

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

    • 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: Menampilkan jumlah kueri lambat yang dieksekusi pada setiap instance.

      • Instance Berperforma Terbaik: Menampilkan perubahan jumlah kueri lambat yang dieksekusi pada setiap instance. Nilai negatif menunjukkan lebih sedikit kueri lambat dibandingkan hari sebelumnya, sementara nilai positif menunjukkan lebih banyak kueri lambat. Nilai negatif menandakan bahwa optimisasi SQL efektif.

      Fokuskan perhatian pada instance dengan jumlah kueri lambat tertinggi dan instance dengan optimisasi SQL paling efektif.

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

      Catatan

      Anda dapat menentukan kondisi filter berikut: 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 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.

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

      • Temukan 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 secara bersamaan.

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

      • Temukan pernyataan SQL sampel dan klik Trend di kolom Actions untuk melihat detail analisis log kueri lambat. 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 dalam 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 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.

      Temukan 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. Gunakan tag untuk menyaring 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 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. 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 di tabel.

    CROSS_DB

    Kueri Antar-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 antar-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 menerapkan metode paging dalam. Kami merekomendasikan agar Anda menulis ulang template SQL dan menggunakan operator JOIN alih-alih 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 nilai 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. Semakin banyak baris yang dipindai, semakin besar jumlah sumber daya database yang dikonsumsi. 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.

    Fokuskan perhatian pada 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.

    • Tentukan kondisi berbeda untuk menyaring template SQL. Sebagai contoh, Anda dapat menyaring template SQL berdasarkan database atau tag aturan, membuat tugas unduhan, dan 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. Gunakan salah satu metode berikut untuk berbagi data:

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