Menggunakan insight kueri untuk meningkatkan performa kueri

Halaman ini menjelaskan cara menggunakan dasbor Query insights untuk mendeteksi dan menganalisis masalah performa pada kueri Anda.

Pengantar

Insight kueri membantu Anda mendeteksi, mendiagnosis, dan mencegah masalah performa kueri untuk database Cloud SQL. Layanan ini mendukung pemantauan intuitif dan menyediakan informasi diagnostik yang membantu Anda melakukan lebih dari sekadar deteksi untuk mengidentifikasi akar penyebab masalah performa.

Query Insight membantu Anda meningkatkan performa kueri Cloud SQL dengan memandu Anda melalui langkah-langkah berikut:

Insight kueri untuk edisi Cloud SQL Enterprise Plus

Jika menggunakan edisi Cloud SQL Enterprise Plus, Anda dapat mengakses kemampuan tambahan di insight kueri untuk melakukan diagnostik performa kueri lanjutan. Selain kemampuan standar dasbor Insight kueri, insight kueri untuk edisi Cloud SQL Enterprise Plus memungkinkan Anda melakukan hal berikut:

  • Ambil teks kueri yang lebih panjang hingga 20 KB.
  • Merekam rencana kueri untuk semua kueri yang dijalankan.
  • Ambil sampel hingga 200 paket kueri per menit.
  • Pertahankan retensi metrik selama 30 hari yang lebih lama.
  • Dapatkan rekomendasi indeks dari konsultan indeks.
  • Menghentikan sesi atau transaksi yang berjalan lama dalam kueri aktif.

Tabel berikut membandingkan persyaratan fungsional dan kemampuan insight kueri untuk edisi Cloud SQL Enterprise dengan insight kueri untuk edisi Cloud SQL Enterprise Plus.

Area perbandingan Insight kueri untuk edisi Cloud SQL Enterprise Insight kueri untuk edisi Cloud SQL Enterprise Plus
Versi database yang didukung

Semua versi instance berikut:

  • SQL Server Web
  • SQL Server Standard
  • SQL Server Enterprise

Insight kueri tidak didukung di instance edisi SQL Server Express

SQL Server Enterprise versi 2019 atau 2022
Jenis mesin yang didukung Didukung di semua jenis mesin Tidak didukung pada instance yang menggunakan jenis mesin inti bersama atau pada instance replika baca
Wilayah yang didukung Lokasi regional Cloud SQL Lokasi regional edisi Cloud SQL Enterprise Plus
Periode retensi data metrik 7 hari 30 hari
Batas panjang kueri maksimum 4.500 byte 20 KB
Contoh paket kueri maksimum Tidak tersedia 200
Rekomendasi konsultan indeks Tidak tersedia Tersedia
Menghentikan sesi atau transaksi yang berjalan lama di kueri aktif Tidak tersedia Tersedia

Mengaktifkan insight kueri untuk edisi Cloud SQL Enterprise Plus

Agar dapat mengaktifkan insight kueri untuk edisi Cloud SQL Enterprise Plus, pilih Aktifkan fitur Enterprise Plus saat Anda Mengaktifkan insight kueri pada instance edisi Cloud SQL Enterprise Plus.

Harga

Tidak ada biaya tambahan untuk insight kueri di instance edisi Cloud SQL Enterprise atau Cloud SQL Enterprise Plus.

Persyaratan penyimpanan

Insight kueri menyimpan data metrik pada instance dan mengharuskan Anda tetap mengaktifkan setelan peningkatan penyimpanan otomatis. Biaya penyimpanan yang berlaku berlaku.

Sebelum memulai

Sebelum Anda menggunakan insight kueri, lakukan hal berikut.

  1. Tambahkan peran dan izin yang diperlukan.
  2. Aktifkan Cloud Trace API.
  3. Jika Anda menggunakan insight kueri untuk edisi Cloud SQL Enterprise atau insight kueri untuk edisi Cloud SQL Enterprise Plus, pastikan opsi Aktifkan peningkatan penyimpanan otomatis diaktifkan untuk instance.

Peran dan izin yang diperlukan

Untuk menggunakan insight kueri, Anda perlu memberikan peran yang telah ditetapkan, membuat peran kustom, atau memberikan izin Pengelolaan Akses dan Identitas yang diperlukan kepada akun pengguna.

Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.

Agar mendapatkan izin yang Anda perlukan untuk mengakses data eksekusi kueri historis di dasbor Insight kueri, mintalah administrator untuk memberi Anda peran IAM berikut pada 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 mengakses data historis eksekusi kueri di dasbor Query insights. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk mengakses data eksekusi kueri historis di dasbor Insight kueri:

  • databaseinsights.aggregatedStats.query
  • databaseinsights.timeSeries.query

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Misalnya, di Database Insights, Anda dapat meminta administrator untuk memberi Anda peran Database Insights Viewer (roles/databaseinsights.viewer) yang telah ditetapkan. Kemudian, di Cloud SQL, Anda dapat meminta administrator untuk memberi Anda salah satu dari peran bawaan berikut:

Mengaktifkan Trace API

Untuk melihat paket kueri dan tampilan menyeluruhnya, project Google Cloud Anda harus mengaktifkan Trace API. Setelan ini memungkinkan projectGoogle Cloud menerima data trace dari sumber yang diautentikasi tanpa biaya tambahan. Data ini dapat membantu Anda mendeteksi dan mendiagnosis masalah performa pada instance.

Untuk mengonfirmasi bahwa Trace API telah diaktifkan, ikuti langkah-langkah berikut:

  1. Dari konsol Google Cloud, buka APIs and Services:

    Buka API dan Layanan

  2. Klik Aktifkan API dan Layanan.
  3. Di kotak penelusuran, masukkan Trace API.
  4. Jika API diaktifkan ditampilkan, berarti API ini diaktifkan dan Anda tidak perlu melakukan apa pun. Jika tidak, klik Enable.

Aktifkan peningkatan penyimpanan otomatis

Jika Anda menggunakan insight kueri untuk edisi Cloud SQL Enterprise Plus, pastikan setelan instance untuk mengaktifkan peningkatan penyimpanan otomatis tetap diaktifkan. Secara default, opsi ini diaktifkan untuk instance Cloud SQL.

Jika sebelumnya Anda menonaktifkan setelan instance ini dan ingin mengaktifkan insight kueri untuk edisi Cloud SQL Enterprise Plus, aktifkan kembali peningkatan penyimpanan otomatis terlebih dahulu. Anda tidak dapat menonaktifkan peningkatan penyimpanan otomatis dan mengaktifkan insight kueri untuk edisi Cloud SQL Enterprise Plus.

Aktifkan insight kueri

Jika Anda mengaktifkan insight kueri, semua operasi lainnya akan ditangguhkan untuk sementara. Operasi ini meliputi health check, logging, pemantauan, dan operasi instance lainnya.

Konsol

Mengaktifkan insight kueri untuk instance

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

    Buka Instance Cloud SQL

  2. Untuk membuka halaman Overview instance, klik nama instance.
  3. Di kartu Configuration, klik Edit configuration.
  4. Di bagian Customize your instance, luaskan Query insight.
  5. Centang kotak Aktifkan Query Insight.
  6. Opsional: Pilih fitur tambahan untuk instance Anda. Beberapa fitur hanya tersedia untuk edisi Cloud SQL Enterprise Plus.
  7. Fitur Deskripsi Edisi Cloud SQL Enterprise Edisi Cloud SQL Enterprise Plus
    Mengaktifkan fitur Enterprise Plus Centang kotak ini guna mengaktifkan insight kueri untuk edisi Cloud SQL Enterprise Plus. Insight kueri untuk edisi Cloud SQL Enterprise Plus memungkinkan Anda menghentikan sesi dan transaksi yang berjalan lama dalam kueri aktif, memungkinkan rekomendasi indeks untuk membantu Anda mempercepat pemrosesan kueri, dan meningkatkan retensi data metrik hingga 30 hari. Rekomendasi konsultan indeks diaktifkan secara otomatis saat Anda mengaktifkan insight kueri untuk edisi Cloud SQL Enterprise Plus. Untuk menonaktifkan rekomendasi Index Advisor, hapus centang pada kotak ini. Tidak tersedia Tersedia

    Default: Nonaktif
    Sesuaikan panjang kueri Pilih kotak centang ini untuk menyesuaikan batas panjang string kueri. Panjang kueri yang lebih tinggi lebih berguna untuk kueri analitis, tetapi juga memerlukan lebih banyak memori. String kueri apa pun yang melebihi batas yang ditentukan akan terpotong di tampilan.

    Jika batas panjang kueri diubah, Anda harus memulai ulang instance.
    Anda dapat menetapkan batas dalam byte dari 256 byte hingga 4500 byte.

    Default: 1024.
    Anda dapat menentukan batas dalam byte dari 256 hingga 20480.

    Default: 10240 byte (10 KB).
    Menetapkan frekuensi sampling maksimum Centang kotak ini untuk menetapkan frekuensi sampling maksimum. Frekuensi sampling adalah jumlah sampel paket kueri yang dijalankan yang diambil per menit di semua database pada instance. Peningkatan frekuensi sampling cenderung memberi Anda lebih banyak titik data, tetapi dapat meningkatkan overhead performa. Anda mengubah nilai ini menjadi angka dari 0 menjadi 20.

    Default: 5.
    Anda dapat meningkatkan jumlah maksimum menjadi 200 untuk memberikan lebih banyak titik data.

    Default: 5.
  8. Klik Simpan.

Mengaktifkan insight kueri untuk beberapa instance

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

    Buka Instance Cloud SQL

  2. Klik menu Tindakan Lainnya di baris mana pun.
  3. Pilih Aktifkan Query Insight.
  4. Pada dialog, centang kotak Enable Query insights for multiple instances.
  5. Klik Aktifkan.
  6. Dalam dialog berikutnya, pilih instance yang insight kuerinya ingin Anda aktifkan.
  7. Klik Aktifkan Query Insight.

gcloud

Untuk mengaktifkan insight kueri untuk instance Cloud SQL menggunakan gcloud, jalankan gcloud sql instances patch dengan flag --insights-config-query-insights-enabled sebagai berikut setelah mengganti INSTANCE_ID dengan ID instance.

    gcloud sql instances patch INSTANCE_ID \
    --insights-config-query-insights-enabled
  

Selain itu, gunakan satu atau beberapa flag opsional berikut:

  • --insights-config-query-string-length

    Menetapkan batas panjang kueri default. Panjang kueri yang lebih tinggi lebih berguna untuk kueri analitis, tetapi juga memerlukan lebih banyak memori. Jika panjang kueri diubah, Anda harus memulai ulang instance. Untuk edisi Cloud SQL Enterprise, Anda dapat menentukan nilai dalam byte dari 256 hingga 4500. Panjang kueri default adalah 1024 byte. Untuk edisi Cloud SQL Enterprise Plus, Anda dapat menentukan batas byte dari 256 hingga 20480. Nilai defaultnya adalah 10240 byte (10 KB).

  • --query_plans_per_minute

    Secara default, maksimal 5 contoh paket kueri yang dieksekusi akan diambil per menit di semua database pada instance. Meningkatkan frekuensi sampling cenderung akan memberi Anda lebih banyak titik data, tetapi dapat menambah overhead performa. Untuk menonaktifkan pengambilan sampel, tetapkan nilai ini ke 0. Untuk edisi Cloud SQL Enterprise, Anda dapat mengubah nilai dari 0 menjadi 20. Untuk edisi Cloud SQL Enterprise Plus, Anda dapat meningkatkan jumlah maksimumnya hingga 200 untuk menyediakan lebih banyak titik data.

Ganti kode berikut:

  • INSIGHTS_CONFIG_QUERY_STRING_LENGTH: Panjang string kueri yang akan disimpan dalam byte.
  • API_TIER_STRING: Konfigurasi instance kustom yang akan digunakan untuk instance.
  • REGION: Region untuk instance.
gcloud sql instances patch INSTANCE_ID \
--insights-config-query-insights-enabled \
--insights-config-query-string-length=INSIGHTS_CONFIG_QUERY_STRING_LENGTH \
--query_plans_per_minute=QUERY_PLANS_PER_MINUTE \
--tier=API_TIER_STRING \
--region=REGION
  

REST v1

Untuk mengaktifkan insight kueri untuk instance Cloud SQL dengan menggunakan REST API, panggil metode instances.patch dengan setelan insightsConfig.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID
  • INSTANCE_ID: ID instance

Metode HTTP dan URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID

Meminta isi JSON:

{
  "settings" : {
     "insightsConfig" : {
       "queryInsightsEnabled" : true,
       "recordClientAddress" : true,
       "queryStringLength" : 1024,
       "queryPlansPerMinute" : 20,
   }
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON yang mirip seperti berikut:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "[email protected]",
  "insertTime": "2025-03-28T22:43:40.009Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

Terraform

Untuk menggunakan Terraform guna mengaktifkan insight kueri untuk instance Cloud SQL, tetapkan flag query_insights_enabled ke true.

Selain itu, Anda dapat menggunakan satu atau beberapa flag opsional berikut:

  • query_string_length: untuk edisi Cloud SQL Enterprise, Anda dapat menentukan nilai dalam byte dari 256 hingga 4500. Panjang kueri default adalah 1024 byte. Untuk edisi Cloud SQL Enterprise Plus, Anda dapat menentukan batas byte dari 256 hingga 20480. Nilai defaultnya adalah 10240 byte (10 KB).
  • record_client_address: tetapkan nilai ke true jika Anda ingin mencatat alamat IP klien. Defaultnya adalah false.
  • query_plans_per_minute: untuk edisi Cloud SQL Enterprise, Anda dapat menetapkan nilai dari 0 ke 20. Defaultnya adalah 5. Untuk edisi Cloud SQL Enterprise Plus, Anda dapat meningkatkan jumlah maksimum hingga 200 untuk memberikan lebih banyak titik data.

Berikut contohnya:

Untuk menerapkan konfigurasi Terraform di project Google Cloud, selesaikan angkah-langkah di bagian berikut.

Menyiapkan Cloud Shell

  1. Luncurkan Cloud Shell.
  2. Tetapkan project Google Cloud default tempat Anda ingin menerapkan konfigurasi Terraform.

    Anda hanya perlu menjalankan perintah ini sekali per project, dan dapat dijalankan di direktori mana pun.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Variabel lingkungan akan diganti jika Anda menetapkan nilai eksplisit dalam file konfigurasi Terraform.

Menyiapkan direktori

Setiap file konfigurasi Terraform harus memiliki direktorinya sendiri (juga disebut modul root).

  1. Di Cloud Shell, buat direktori dan file baru di dalam direktori tersebut. Nama file harus memiliki ekstensi .tf—misalnya main.tf. Dalam tutorial ini, file ini disebut sebagai main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Jika mengikuti tutorial, Anda dapat menyalin kode contoh di setiap bagian atau langkah.

    Salin kode contoh ke dalam main.tf yang baru dibuat.

    Atau, salin kode dari GitHub. Tindakan ini direkomendasikan jika cuplikan Terraform adalah bagian dari solusi menyeluruh.

  3. Tinjau dan ubah contoh parameter untuk diterapkan pada lingkungan Anda.
  4. Simpan perubahan Anda.
  5. Lakukan inisialisasi Terraform. Anda hanya perlu melakukan ini sekali per direktori.
    terraform init

    Secara opsional, untuk menggunakan versi penyedia Google terbaru, sertakan opsi -upgrade:

    terraform init -upgrade

Menerapkan perubahan

  1. Tinjau konfigurasi dan pastikan resource yang akan dibuat atau diupdate oleh Terraform sesuai yang Anda inginkan:
    terraform plan

    Koreksi konfigurasi jika diperlukan.

  2. Terapkan konfigurasi Terraform dengan menjalankan perintah berikut dan memasukkan yes pada prompt:
    terraform apply

    Tunggu hingga Terraform menampilkan pesan "Apply complete!".

  3. Buka project Google Cloud Anda untuk melihat hasilnya. Di Konsol Google Cloud, buka resource Anda di UI untuk memastikan bahwa Terraform telah membuat atau mengupdatenya.

Metrik diharapkan tersedia dalam insight kueri dalam hitungan menit setelah penyelesaian kueri.

Melihat dasbor Query Insight

Dasbor Query Insight menampilkan pemuatan kueri berdasarkan faktor yang Anda pilih. Pemuatan kueri adalah pengukuran total pekerjaan untuk semua kueri dalam instance dalam rentang waktu yang dipilih. Dasbor ini menyediakan serangkaian filter yang membantu Anda melihat pemuatan kueri.

Untuk membuka dasbor Insight kueri, ikuti langkah-langkah berikut:

  1. Untuk membuka halaman Ringkasan instance, klik nama instance.
  2. Di menu navigasi Cloud SQL, klik Query insights, atau klik Go to Query insights untuk info lebih mendalam tentang kueri dan performa di halaman Ringkasan instance.
  3. Dasbor Insight kueri akan terbuka. Bergantung pada apakah Anda menggunakan insight kueri untuk edisi Cloud SQL Enterprise atau insight kueri untuk edisi Cloud SQL Enterprise Plus, dasbor Query insights akan menampilkan informasi berikut tentang instance Anda:

Menampilkan dasbor Query Insights, dengan menu drop-down untuk database. Di sebelah kanan menu drop-down,
         terdapat filter untuk menyetel rentang waktu.

  • Database: Memfilter pemuatan kueri pada database tertentu atau semua database.
  • Rentang waktu: Memfilter pemuatan kueri menurut rentang waktu, seperti 1 jam, 6 jam, 1 hari, 7 hari, 30 hari, atau rentang kustom.
  • Database load graph: Menampilkan grafik pemuatan kueri, berdasarkan data yang difilter.
  • Query dan Databases: Memfilter kueri yang dimuat berdasarkan kueri yang dipilih atau database yang dipilih. Lihat Memfilter pemuatan database.

Melihat muatan database untuk semua kueri

Pemuatan kueri database adalah ukuran pekerjaan (dalam detik CPU) yang dilakukan oleh kueri yang dijalankan di database yang dipilih dari waktu ke waktu. Setiap kueri yang berjalan menggunakan atau menunggu resource CPU, resource IO, atau resource kunci. Pemuatan kueri database adalah rasio jumlah waktu yang dibutuhkan oleh semua kueri yang diselesaikan dalam jangka waktu tertentu dibandingkan dengan waktu aktual.

Dasbor insight kueri tingkat teratas menampilkan grafik Pemuatan database menurut waktu eksekusi. Menu drop-down di dasbor dapat Anda gunakan untuk memfilter grafik untuk semua database atau database tertentu.

Menampilkan semua kueri yang dijalankan untuk database yang dipilih.

Garis berwarna pada grafik menunjukkan per pemuatan database menurut waktu eksekusi. Tinjau grafik tersebut dan gunakan opsi pemfilteran untuk mempelajari pertanyaan-pertanyaan ini:

  • Apakah pemuatan kuerinya tinggi? Apakah grafiknya melonjak atau meningkat dari waktu ke waktu? Jika Anda tidak melihat beban yang tinggi, berarti masalahnya bukan pada kueri Anda.
  • Berapa lama muatannya telah tinggi? Apakah angkanya tinggi sekarang atau sudah lama tinggi? Gunakan pemilih rentang untuk memilih beragam jangka waktu guna mengetahui berapa lama masalah telah terjadi. Perbesar untuk melihat periode waktu saat terjadi lonjakan beban kueri. Perkecil untuk melihat linimasa hingga satu minggu.
  • Database mana yang mengalami pemuatan? Pilih database yang berbeda dari menu drop-down Database untuk menemukan database dengan muatan tertinggi.

Memfilter muatan database

Anda dapat memfilter pemuatan database berdasarkan kueri. Jika menggunakan insight kueri untuk edisi Cloud SQL Enterprise Plus, Anda dapat menyesuaikan diagram pemuatan database untuk mengelompokkan data yang ditampilkan menggunakan salah satu dimensi berikut:

  • Semua kueri

  • Database

Untuk menyesuaikan diagram pemuatan database, pilih dimensi dari drop-down Database Load by execution time.

Melihat kontributor teratas untuk pemuatan database

Untuk melihat kontributor teratas bagi pemuatan database, Anda dapat menggunakan tabel Dimensi teratas menurut pemuatan database. Tabel Top dimensions by database load menampilkan kontributor teratas untuk jangka waktu dan dimensi yang Anda pilih di drop-down diagram Database Load by execution time. Anda dapat mengubah jangka waktu atau dimensi guna melihat kontributor teratas untuk dimensi atau jangka waktu yang berbeda.

Di tabel Dimensi teratas menurut pemuatan data, Anda dapat memilih tab berikut.

Tab Deskripsi
Kueri Tabel menampilkan kueri yang dinormalkan teratas berdasarkan total waktu eksekusi. Untuk setiap kueri, data yang ditampilkan dalam kolom tercantum sebagai berikut:
  • Rata-rata waktu eksekusi (md): waktu rata-rata kueri untuk dieksekusi.
  • Total execution time (md): total waktu eksekusi yang dibutuhkan oleh kueri tertentu.
  • Rata-rata baris yang ditampilkan: jumlah rata-rata baris yang diambil untuk kueri.
  • Waktu dipanggil: frekuensi kueri dipanggil oleh aplikasi.
Database Tabel ini menampilkan daftar database teratas yang berkontribusi pada pemuatan selama jangka waktu yang dipilih di semua kueri yang dijalankan.
  • Rata-rata waktu yang dihabiskan di database (md): waktu rata-rata yang dihabiskan kueri di database tertentu.
  • Total waktu yang dihabiskan dalam database (md): total waktu eksekusi yang dihabiskan oleh kueri di database tertentu.

Memfilter berdasarkan kueri

Tabel Kueri teratas memberikan ringkasan kueri yang menyebabkan pemuatan kueri terbanyak. Tabel ini menampilkan semua kueri yang dinormalkan untuk rentang waktu dan opsi yang dipilih di dasbor Query insights. Fungsi ini mengurutkan kueri berdasarkan total waktu eksekusi selama rentang waktu yang Anda pilih.

Untuk mengurutkan tabel, pilih judul kolom.

Tabel menampilkan properti berikut:

  • Kueri: string kueri yang dinormalkan. Secara default, insight kueri hanya menampilkan 1.024 karakter dalam string kueri.
  • Database: database tempat kueri dijalankan.
  • Rekomendasi: rekomendasi yang disarankan, seperti Buat indeks, untuk meningkatkan performa kueri.
  • Rata-rata waktu eksekusi (md): waktu rata-rata kueri untuk dieksekusi.
  • Total waktu eksekusi (md): total waktu eksekusi kueri.
  • Waktu dipanggil: frekuensi aplikasi memanggil kueri.
  • Rata-rata baris yang ditampilkan: jumlah rata-rata baris yang ditampilkan untuk kueri.

Query Insight hanya menyimpan dan menampilkan kueri yang dinormalkan.

Memeriksa operasi dalam contoh paket kueri

Rencana kueri mengambil contoh kueri dan menguraikannya menjadi operasi individual. Alat ini menjelaskan dan menganalisis setiap operasi dalam kueri.

Grafik Contoh paket kueri menampilkan semua rencana kueri yang berjalan pada waktu tertentu dan jumlah waktu yang diperlukan untuk menjalankan setiap rencana. Anda dapat mengubah tingkat pengambilan sampel paket kueri per menit. Lihat Mengaktifkan Insight Kueri.

Menampilkan rencana kueri dan visualisasi pelacakan end-to-end.

Secara default, panel di sebelah kanan menampilkan detail contoh paket kueri yang memerlukan waktu paling lama, seperti yang terlihat pada grafik Contoh paket kueri. Untuk melihat detail contoh paket kueri lainnya, klik lingkaran yang relevan pada grafik. Detail yang diperluas menampilkan model dari semua operasi di paket kueri.

Setiap operasi menunjukkan baris yang ditampilkan dan, jika tersedia, biaya operasi. Gunakan tampilan layar penuh atau tab End-to-end untuk melihat estimasi statistik eksekusi untuk setiap node (operasi), serta statistik eksekusi runtime yang terkait dengan node root.

Menampilkan rencana kueri menggunakan hierarki visualisasi.

Coba sederhanakan masalahnya dengan melihat pertanyaan-pertanyaan berikut:

  1. Berapa konsumsi resource?
  2. Bagaimana kaitannya dengan kueri lain?
  3. Apakah konsumsi berubah dari waktu ke waktu?

Fitur detail kueri

Detail kueri dapat memberikan detail lebih lanjut tentang kueri tertentu, termasuk waktu eksekusi rata-rata, berapa kali dipanggil, dan jumlah rata-rata baris yang ditampilkan. Class ini juga dapat menawarkan rekomendasi, seperti indeks, untuk membantu meningkatkan performa kueri.

Detail kueri juga menyediakan metrik berikut:

  • Contoh paket kueri: Contoh ini membantu menjelaskan dan menganalisis kueri Anda dengan memberikan perincian berbagai operasi dalam contoh kueri.

    Menampilkan rencana kueri dan visualisasi pelacakan end-to-end.

  • Jumlah eksekusi kueri dari waktu ke waktu: Menampilkan berapa kali kueri telah diselesaikan selama jangka waktu tertentu. Diagram ini membantu Anda lebih memahami kapan kueri biasanya dijalankan dan dapat membantu Anda memperkirakan dampak kueri tersebut terhadap performa instance.

    Menampilkan berapa kali kueri dijalankan selama
 periode tertentu.

  • Baris rata-rata yang ditampilkan seiring waktu: Menampilkan jumlah rata-rata baris yang ditampilkan oleh kueri dari waktu ke waktu. Data ini dapat membantu Anda menghubungkan kueri yang lebih lambat daripada biasanya dengan peningkatan jumlah data yang dihasilkan oleh kueri tersebut.

    Menunjukkan jumlah rata-rata baris yang ditampilkan oleh kueri dari waktu ke waktu.

  • Statistik I/O: Menampilkan statistik input dan output untuk kueri, termasuk filter berikut:
    • Rata-rata pembacaan logis
    • Rata-rata pembacaan fisik
    • Rata-rata operasi tulis logis

    Anda dapat menggunakan metrik I/O untuk membantu menghubungkan kueri yang lebih lambat dari biasanya dengan penggunaan I/O yang lebih intensif atau perubahan pola I/O.

    Misalnya, jika jumlah pembacaan logis meningkat, hal itu bisa menjadi indikasi bahwa kueri mulai membaca lebih banyak data dari biasanya. Jika jumlah pembacaan fisik meningkat, hal itu dapat menunjukkan bahwa Cloud SQL mulai membaca lebih banyak data dari disk, bukan dari cache buffer. Misalnya, mungkin tidak tersedia cukup memori untuk meng-cache semua data atau instance mulai membaca terlalu banyak data. Jika jumlah operasi tulis logis meningkat, itu bisa menunjukkan bahwa kueri mulai menulis lebih banyak data ke disk data.

    Ini adalah salah satu contoh yang menunjukkan cara metrik ini membantu mengukur dampak kueri pada I/O instance.

    Menampilkan representasi statistik input dan output untuk kueri.

  • Statistik memori: Menampilkan statistik penggunaan memori untuk kueri, termasuk filter berikut:
    • Rata-rata memori ideal
    • Rata-rata memori yang dicadangkan
    • Rata-rata memori yang digunakan

    Metrik ini dapat membantu Anda mendeteksi perubahan konsumsi memori yang terkait dengan kueri, termasuk contoh berikut:

    • Gunakan metrik ini untuk mendeteksi saat Cloud SQL salah memperkirakan jumlah memori yang diperlukan untuk mengeksekusi kueri dan mungkin telah mencadangkan lebih banyak memori daripada yang digunakan oleh kueri.
    • Gunakan metrik ini untuk mendeteksi saat Cloud SQL tidak dapat mengalokasikan cukup memori dan mencadangkan pemberian memori yang lebih kecil. Saat hal ini terjadi, Cloud SQL menggunakan database tempdb, yang lebih lambat daripada penggunaan memori.
    • Gunakan metrik ini bersama dengan jumlah eksekusi kueri untuk mengukur dampak kueri terhadap konsumsi memori instance.
    • Gunakan metrik tersebut saat Anda melihat penggunaan memori atau tekanan memori yang tinggi.

    Menampilkan statistik penggunaan memori untuk kueri.

  • Statistik CPU dan waktu eksekusi: Menampilkan tampilan gabungan statistik waktu CPU dan waktu eksekusi untuk kueri. Anda dapat menggunakan metrik waktu CPU untuk menyelidiki penggunaan CPU yang tinggi pada instance, termasuk contoh berikut:
    • Anda dapat menggunakan kombinasi metrik waktu CPU dan jumlah eksekusi untuk mengukur dampak kueri terhadap total konsumsi CPU dalam instance.
    • Anda dapat menggunakan kombinasi metrik waktu CPU, waktu eksekusi, dan paralelisme untuk mengukur persentase waktu saat kueri menunggu resource.
    • Anda dapat menggunakan metrik waktu eksekusi untuk mendeteksi kapan kueri memerlukan waktu lebih lama untuk dijalankan daripada biasanya.

    Menampilkan tampilan gabungan statistik waktu CPU dan waktu eksekusi untuk
        kueri.

  • Statistik kueri tambahan: Menampilkan statistik tambahan yang terkait dengan kueri, termasuk filter berikut:
    • Statistik runtime bahasa umum (CLR)
    • Statistik Columnstore
    • Tumpahan memori
    • Statistik paralelisme

    Menampilkan statistik tambahan yang terkait dengan kueri, termasuk statistik
        runtime bahasa umum (CLR), statistik columnstore, tumpahan memori,
        dan statistik paralelisme.

Nonaktifkan insight kueri

Konsol

Untuk menonaktifkan insight kueri untuk instance Cloud SQL menggunakan Konsol Google Cloud, ikuti langkah-langkah berikut:

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

    Buka Instance Cloud SQL

  2. Untuk membuka halaman Overview instance, klik nama instance.
  3. Di kartu Configuration, klik Edit configuration.
  4. Di bagian Opsi konfigurasi, luaskan Query Insight.
  5. Hapus centang pada kotak Aktifkan Query Insight.
  6. Klik Simpan.

gcloud

Untuk menonaktifkan insight kueri untuk instance Cloud SQL menggunakan gcloud, jalankan gcloud sql instances patch dengan flag --no-insights-config-query-insights-enabled sebagai berikut, setelah mengganti INSTANCE_ID dengan ID instance.

gcloud sql instances patch INSTANCE_ID \
  --no-insights-config-query-insights-enabled

REST

Untuk menonaktifkan insight kueri untuk instance Cloud SQL dengan menggunakan REST API, panggil metode instances.patch dengan queryInsightsEnabled yang ditetapkan ke false sebagai berikut.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • project-id: Project ID.
  • instance-id: ID instance.

Metode HTTP dan URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

Meminta isi JSON:

{
  "settings" : { "insightsConfig" : { "queryInsightsEnabled" : false } }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
  "status": "PENDING",
  "user": "[email protected]",
  "insertTime": "2021-01-28T22:43:40.009Z",
  "operationType": "UPDATE",
  "name": "operation-id",
  "targetId": "instance-id",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

Nonaktifkan insight kueri untuk edisi Cloud SQL Enterprise Plus

Guna menonaktifkan insight kueri untuk edisi Cloud SQL Enterprise Plus, lakukan tindakan 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 Edit.
  4. Di bagian Customize your instance, luaskan Query insight.
  5. Hapus centang pada kotak Aktifkan fitur Enterprise Plus.
  6. Klik Simpan.

Langkah berikutnya