Halaman ini menjelaskan penasihat indeks Cloud SQL untuk MySQL dan cara melihat serta menerapkan rekomendasi indeksnya.
Cloud SQL untuk MySQL menawarkan penasihat indeks yang terkelola sepenuhnya yang melacak kueri yang ditangani database Anda secara rutin. Secara berkala, penasihat indeks menganalisis kueri ini untuk merekomendasikan indeks baru yang dapat meningkatkan performa kueri. Penasihat indeks memungkinkan Anda mendeteksi dan memperbaiki masalah performa dengan sistem dan kueri.
Cara kerja penasihat indeks
Penasihat indeks membantu Anda meningkatkan pemrosesan kueri dengan melakukan hal berikut:
- Merekomendasikan kumpulan indeks dengan perintah SQL untuk membuat indeks.
- Menyediakan data untuk membantu Anda mengevaluasi indeks yang direkomendasikan, misalnya, perkiraan ukuran penyimpanan dan dampak indeks pada kueri.
CREATE INDEX yang berisi nama database, nama tabel, dan nama kolom. Kueri yang dilacak adalah semua kueri yang dinormalkan dengan semua literal dihapus.
Rekomendasi indeks dienkripsi saat dalam penyimpanan.
Di Cloud SQL untuk MySQL, Anda dapat menggunakan flag database untuk mengonfigurasi dan menyesuaikan penasihat indeks. Untuk mengetahui informasi selengkapnya, lihat Flag Index advisor.Batasan
Penasihat indeks Cloud SQL untuk MySQL memiliki batasan berikut:
- Penasihat indeks hanya memberikan rekomendasi
CREATE INDEX. - Penasihat indeks tidak mendukung instance dengan konfigurasi berikut:
- Instance edisi Cloud SQL Enterprise
- Instance yang menggunakan jenis mesin dengan inti bersama
Sebelum memulai
Untuk mendapatkan rekomendasi penasihat indeks, Anda harus menggunakan edisi Cloud SQL Enterprise Plus dan mengaktifkan Query Insight untuk edisi Cloud SQL Enterprise Plus untuk instance Cloud SQL Anda.
Peran dan izin yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk mendapatkan rekomendasi penasihat indeks, minta administrator untuk memberi Anda peran IAM Cloud SQL Viewer (roles/cloudsql.viewer) di project yang menghosting instance Cloud SQL.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk mendapatkan rekomendasi penasihat indeks. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk mendapatkan rekomendasi penasihat indeks:
-
databaseinsights.recommendations.query -
databaseinsights.resourceRecommendations.query
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Mengaktifkan rekomendasi penasihat indeks
Saat Anda mengaktifkan Query Insight untuk edisi Cloud SQL Enterprise Plus, Anda akan mengaktifkan rekomendasi penasihat indeks secara otomatis. Untuk mengetahui informasi selengkapnya tentang persyaratan memulai ulang, lihat Mengaktifkan Query Insight.
Menonaktifkan rekomendasi penasihat indeks
Anda tidak dapat menonaktifkan rekomendasi penasihat indeks tanpa menonaktifkan Query Insight untuk edisi Cloud SQL Enterprise Plus.
Untuk menonaktifkan rekomendasi penasihat indeks dan Query Insight untuk edisi Cloud SQL Enterprise Plus, lihat Menonaktifkan Query Insight untuk edisi Cloud SQL Enterprise Plus.
Melihat rekomendasi penasihat indeks
Cloud SQL otomatis menjalankan analisis penasihat indeks secara berkala. Untuk melihat rekomendasi penasihat indeks, gunakan dasbor Query Insight. Anda juga dapat melihat dan membuat kueri rekomendasi penasihat indeks sebagai tabel atau meminta analisis dan laporan sesuai permintaan kapan saja.
Melihat dan memfilter rekomendasi di dasbor Query Insight
-
Di Google Cloud Konsol, buka halaman Instance Cloud SQL.
- Untuk membuka halaman Ringkasan instance, klik nama instance.
- Klik Query Insight.
- Rekomendasi penasihat indeks ditampilkan di kolom Rekomendasi pada bagian Kueri dan tag teratas.
- Opsional: Untuk melihat hanya kueri dengan rekomendasi
CREATE INDEX, tambahkan filter untuk Rekomendasi: Buat Indeks.
Melihat rekomendasi untuk kueri
Untuk melihat rekomendasi indeks untuk kueri tertentu, ikuti langkah-langkah berikut:
-
Di Google Cloud Konsol, buka halaman Instance Cloud SQL.
- Untuk membuka halaman Ringkasan instance, klik nama instance.
- Klik Query Insight.
- Di bagian Kueri dan tag teratas, klik Kueri.
- Untuk mendapatkan detail rekomendasi untuk kueri, lakukan salah satu hal berikut:
- Klik kueri untuk mempelajari rekomendasi lebih lanjut untuk kueri yang dipilih, termasuk informasi berikut:
- Dampak performa (tinggi, sedang, dan rendah): Perkiraan kecepatan kueri setelah semua indeks yang direkomendasikan dibuat.
- Rekomendasi: Buat rekomendasi indeks.
- Tabel yang terpengaruh: Jumlah tabel yang akan terpengaruh saat indeks dibuat.
- Perkiraan penyimpanan tambahan yang diperlukan: Perkiraan ukuran penyimpanan yang diperlukan untuk membuat semua indeks yang direkomendasikan.
- Jumlah kueri yang terpengaruh: Total jumlah kueri dalam beban kerja yang terpengaruh oleh rekomendasi indeks. Indeks dapat bermanfaat bagi beberapa kueri.
- Klik Buat Indeks untuk kueri tertentu guna mempelajari rekomendasi mendetail tentang pembuatan indeks untuk meningkatkan performa kueri.
- Klik kueri untuk mempelajari rekomendasi lebih lanjut untuk kueri yang dipilih, termasuk informasi berikut:
Melihat rekomendasi sebagai tampilan tabel database
Anda dapat membaca hasilnya melalui tabel berikut yang terletak di database mysql:
mysql.cloudsql_db_advisor_recommended_indexes: mencantumkan indeks baru yang direkomendasikan untuk setiap database. Tabel ini juga mencakup perkiraan penyimpanan yang diperlukan untuk setiap indeks, dan jumlah kueri yang dapat dipengaruhi oleh setiap indeks.
Misalnya, untuk melihat hasil analisis rekomendasi indeks terbaru, yang diformat sebagai tabel, jalankan kueri ini:
SELECT * FROM mysql.cloudsql_db_advisor_recommended_indexes;
Membuat indeks yang direkomendasikan
Anda dapat membuat indeks yang direkomendasikan dari dasbor Query Insight atau dari tampilan tabel database.
Membuat indeks yang direkomendasikan menggunakan dasbor Query Insight
Untuk membuat indeks yang direkomendasikan menggunakan dasbor Query Insight, lakukan hal berikut:
-
Di Google Cloud Konsol, buka halaman Instance Cloud SQL.
- Untuk membuka halaman Ringkasan instance, klik nama instance.
- Klik Query Insight.
- Di tabel Dimensi teratas menurut beban database, klik Kueri.
- Klik Buat Indeks untuk kueri tertentu.
- Klik Salin semua perintah indeks. Perintah
CREATE INDEXakan disalin ke papan klip Anda. - Hubungkan ke instance utama di command line.
Untuk membuat indeks yang direkomendasikan, jalankan perintah yang disalin ke papan klip Anda, misalnya:
CREATE INDEX ON "public"."demo_order" ("customer_id");
Membuat indeks yang direkomendasikan menggunakan tampilan tabel database
Kolom index dari tabel mysql.cloudsql_db_advisor_recommended_indexes
berisi, di setiap baris, pernyataan DDL CREATE INDEX MySQL
lengkap untuk membuat indeks yang direkomendasikan di baris tersebut.
Untuk menerapkan rekomendasi baris tersebut, jalankan pernyataan DDL tersebut, persis seperti yang ditampilkan.
Misalnya, pertimbangkan output ini dari menjalankan analisis secara manual, menggunakan kueri yang dijelaskan di bagian sebelumnya:
index | estimated_storage_size_in_mb
--------------------------------------------+------------------------------
CREATE INDEX ON "School"."Students"("age") | 3
(1 row)
Laporan ini berisi satu rekomendasi: menambahkan indeks satu kolom pada kolom age di tabel Students skema School. Untuk menerapkan saran ini, masukkan kueri DDL seperti yang diwakili dalam laporan:
CREATE INDEX ON "School"."Students"("age");
Melihat kueri yang terpengaruh
-
Di Google Cloud Konsol, buka halaman Instance Cloud SQL.
- Untuk membuka halaman Ringkasan instance, klik nama instance.
- Klik Query Insight.
- Di tabel Dimensi teratas menurut beban database, klik Kueri.
- Klik Buat indeks untuk kueri tertentu.
- Klik Tampilkan kueri yang terpengaruh.
- Klik kueri untuk mempelajari detail tentang kueri yang terpengaruh.
Mengonfigurasi penasihat indeks
Meskipun penasihat indeks dirancang untuk berfungsi bagi sebagian besar kasus penggunaan dengan setelan default-nya, Anda dapat menyesuaikan perilakunya dengan menetapkan berbagai flag database.
Secara default, penasihat indeks berjalan sekali setiap 24 jam. Anda dapat mengubah waktu
autoschedule menggunakan flag
cloudsql_index_advisor_auto_advisor_schedule, atau menjalankan analisis ad hoc pada tanggal/waktu
tertentu menggunakan flag
cloudsql_index_advisor_run_at_timestamp.
Untuk mengetahui informasi selengkapnya, lihat
Flag Index advisor.