Menggunakan konsultan indeks

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.
Penasihat indeks menyimpan dan menampilkan perintah 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 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

  1. Di konsol Google Cloud, buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Untuk membuka halaman Ringkasan instance, klik nama instance.
  3. Klik Analisis kueri.
  4. Rekomendasi Index Advisor ditampilkan di kolom Rekomendasi di bagian Kueri dan tag teratas.
  5. 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:

  1. Di konsol Google Cloud, buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Untuk membuka halaman Ringkasan instance, klik nama instance.
  3. Klik Analisis kueri.
  4. Di bagian Kueri dan tag teratas, klik Kueri.
  5. 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.

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.

Untuk membuat indeks yang direkomendasikan menggunakan dasbor Insight kueri, lakukan hal berikut:

  1. Di konsol Google Cloud, buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Untuk membuka halaman Ringkasan instance, klik nama instance.
  3. Klik Analisis kueri.
  4. Di tabel Dimensi teratas menurut pemuatan database, klik Kueri.
  5. Klik Buat Indeks untuk kueri tertentu.
  6. Klik Copy all index commands. Perintah CREATE INDEX disalin ke papan klip Anda.
  7. Hubungkan ke instance utama di command line.
  8. Untuk membuat indeks yang direkomendasikan, jalankan perintah yang disalin ke papan klip Anda, misalnya:

    CREATE INDEX ON "public"."demo_order" ("customer_id");

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

  1. Di konsol Google Cloud, buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Untuk membuka halaman Ringkasan instance, klik nama instance.
  3. Klik Analisis kueri.
  4. Di tabel Dimensi teratas menurut pemuatan database, klik Kueri.
  5. Klik Buat indeks untuk kueri tertentu.
  6. Klik Tampilkan kueri yang terpengaruh.
  7. 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.

Langkah berikutnya