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.
CatatanMulai 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 |
Prosedur
Buka halaman Instance. Di bilah navigasi atas, pilih wilayah tempat instance RDS berada. Temukan instance RDS dan klik ID instance tersebut.
Di panel navigasi kiri, pilih Autonomy Services > Slow Query Logs.
Pada halaman yang muncul, klik tab Query Governance.
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.
CatatanUntuk 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.
CatatanKondisi 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.
CatatanUntuk 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 |
FUZZY_LIKE | Kueri LIKE | Normal | ➖ | Template SQL di mana operator |
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 |
SELECT_STAR | Kueri Kolom Penuh | Normal | ➖ | Template SQL di mana satu atau lebih bidang ditentukan dalam klausa |
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 |
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 |
DEEP_PAGING | Paging Dalam | Kritis | ➖ | Template SQL di mana operator |
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 |
COUNT_NOT_STAR | Sintaks COUNT Tidak Valid | Kritis | ➖ | Template SQL yang mengandung sintaks COUNT tidak valid. Gunakan |
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.
CatatanData 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.