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.
CatatanDukungan 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 |
Prosedur
Buka halaman Instances. Di bilah navigasi atas, pilih wilayah tempat instans RDS berada. Lalu, temukan instans RDS tersebut dan klik ID instansnya.
Di panel navigasi sebelah kiri, pilih Autonomy Services> Slow Query Logs.
Klik tab Query Governance.
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.
CatatanDAS 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.
CatatanFilter-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 |
|
FUZZY_LIKE |
Fuzzy LIKE query |
Notice |
➖ |
Klausa |
|
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 |
|
SELECT_STAR |
SELECT full column |
Notice |
➖ |
Saat menggunakan |
|
INDEX_ADVISOR |
Index suggestion |
Notice |
✔️ |
Saran untuk membuat indeks guna mempercepat eksekusi SQL. |
|
COMPLEX_JOIN |
Complex JOIN |
Notice |
➖ |
Jangan |
|
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 |
|
DEEP_PAGING |
Deep paging |
Critical |
➖ |
Kueri menggunakan klausa |
|
WITHOUT_PREDICATE |
No predicate |
Critical |
✔️ |
Pernyataan tidak berisi predikat. Periksa apakah melibatkan pemindaian tabel penuh. |
|
NULL_COMPARE |
NULL match error |
Critical |
➖ |
Gunakan |
|
COUNT_NOT_STAR |
Improper COUNT syntax |
Critical |
➖ |
Gunakan |
|
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.
CatatanData 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.