Halaman ini menjelaskan penasihat indeks Cloud SQL untuk MySQL dan cara Anda dapat melihat dan menerapkan rekomendasi indeksnya.
Cloud SQL untuk MySQL menawarkan penasihat indeks yang terkelola sepenuhnya yang melacak kueri yang ditangani database Anda secara berkala. Secara berkala, penasihat indeks akan menganalisis kueri ini untuk merekomendasikan indeks baru yang dapat meningkatkan performa kueri. Index Advisor memungkinkan Anda mendeteksi dan memperbaiki masalah performa pada sistem dan kueri.
Bagaimana cara kerja penasihat indeks?
Penasihat indeks membantu Anda meningkatkan pemrosesan kueri dengan melakukan hal berikut:
- Merekomendasikan kumpulan indeks dengan perintah SQL untuk membuat indeks.
- Berikan data untuk membantu Anda mengevaluasi indeks yang direkomendasikan, misalnya, estimasi 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 dinormalisasi 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 penasihat indeks.Batasan
Cloud SQL untuk MySQL index advisor 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 insight kueri 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
) pada project yang menghosting instance Cloud SQL.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran yang telah ditentukan ini berisi izin yang diperlukan untuk mendapatkan rekomendasi penasihat indeks. Untuk melihat izin yang benar-benar diperlukan, luaskan 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 mengaktifkan insight kueri untuk edisi Cloud SQL Enterprise Plus, Anda akan otomatis mengaktifkan rekomendasi penasihat indeks.
Menonaktifkan rekomendasi penasihat indeks
Anda tidak dapat menonaktifkan rekomendasi penasihat indeks tanpa menonaktifkan insight kueri untuk edisi Cloud SQL Enterprise Plus.
Untuk menonaktifkan rekomendasi penasihat indeks dan insight kueri untuk edisi Cloud SQL Enterprise Plus, lihat Menonaktifkan insight kueri untuk edisi Cloud SQL Enterprise Plus.
Melihat rekomendasi Index Advisor
Cloud SQL otomatis menjalankan analisis penasihat indeks secara berkala. Untuk melihat rekomendasi konsultan indeks, gunakan dasbor Insight kueri. Anda juga dapat melihat dan membuat kueri rekomendasi penasihat indeks sebagai tabel atau meminta analisis dan laporan on-demand kapan saja.
Melihat dan memfilter rekomendasi di dasbor Insight kueri
-
Di konsol Google Cloud, buka halaman Instance Cloud SQL.
- Untuk membuka halaman Ringkasan instance, klik nama instance.
- Klik Analisis kueri.
- Rekomendasi Index Advisor ditampilkan di kolom Rekomendasi di bagian Kueri dan tag teratas.
- Opsional: Untuk hanya melihat 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 konsol Google Cloud, buka halaman Instance Cloud SQL.
- Untuk membuka halaman Ringkasan instance, klik nama instance.
- Klik Analisis kueri.
- Di bagian Kueri dan tag teratas, klik Kueri.
- Untuk mendapatkan detail rekomendasi kueri, lakukan salah satu hal berikut:
- Klik kueri untuk mempelajari lebih lanjut rekomendasi untuk kueri
yang dipilih, termasuk informasi berikut:
- Dampak performa (tinggi, sedang, dan rendah): Perkiraan kecepatan kueri setelah semua indeks yang direkomendasikan dibuat.
- Rekomendasi: Membuat 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 cara membuat indeks untuk meningkatkan performa kueri.
- Klik kueri untuk mempelajari lebih lanjut rekomendasi 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. Laporan ini juga mencakup estimasi penyimpanan yang diperlukan untuk setiap indeks, dan jumlah kueri yang dapat terpengaruh 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 Insight kueri atau dari tampilan tabel database.
Membuat indeks yang direkomendasikan menggunakan dasbor Insight kueri
Untuk membuat indeks yang direkomendasikan menggunakan dasbor Insight kueri, lakukan hal berikut:
-
Di konsol Google Cloud, buka halaman Instance Cloud SQL.
- Untuk membuka halaman Ringkasan instance, klik nama instance.
- Klik Analisis kueri.
- Di tabel Dimensi teratas menurut pemuatan database, klik Kueri.
- Klik Buat Indeks untuk kueri tertentu.
- Klik Copy all index commands. Perintah
CREATE INDEX
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
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 kolom tunggal
di kolom age
dalam tabel Students
skema School
. Untuk menerapkan saran ini, masukkan kueri DDL seperti
yang ditampilkan dalam laporan:
CREATE INDEX ON "School"."Students"("age");
Melihat kueri yang terpengaruh
-
Di konsol Google Cloud, buka halaman Instance Cloud SQL.
- Untuk membuka halaman Ringkasan instance, klik nama instance.
- Klik Analisis kueri.
- Di tabel Dimensi teratas menurut pemuatan 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 pada sebagian besar kasus penggunaan dengan setelan defaultnya, Anda dapat menyesuaikan perilakunya dengan menetapkan berbagai tanda database.
Secara default, penasihat indeks berjalan sekali setiap 24 jam. Anda dapat mengubah
waktu penjadwalan otomatis menggunakan
tanda cloudsql_index_advisor_auto_advisor_schedule
, atau menjalankan analisis ad hoc pada tanggal/waktu
tertentu menggunakan
tanda cloudsql_index_advisor_run_at_timestamp
.
Untuk mengetahui informasi selengkapnya, lihat
Flag penasihat indeks.