Fitur Query Insight menggunakan log query lambat dan tabel sistem hg_table_info untuk memberikan informasi eksekusi query secara cepat. Informasi ini mencakup konsumsi sumber daya proses query, metadata tabel dalam query, serta rencana eksekusi query. Anda dapat memanfaatkan fitur ini untuk memeriksa konflik bahasa definisi data (DDL) atau kunci tabel dalam query, membantu Anda melakukan pemecahan masalah.
Prasyarat
Anda telah masuk ke instance Hologres. Untuk informasi lebih lanjut, lihat Masuk ke instance.
Pergi ke halaman Query Insight
Anda dapat mengakses halaman Query Insight melalui panel navigasi atau pengalihan.
Masuk ke Konsol Hologres.
Pilih wilayah di bilah navigasi atas.
Di panel navigasi kiri, klik Go to HoloWeb untuk masuk ke konsol HoloWeb.
Akses halaman Query Insight.
Panel Navigasi
Di bilah navigasi atas, klik Diagnostics and Optimization. Di panel navigasi kiri, pilih Metadata Warehouse Analysis > Query Insight.

Pengalihan
Di HoloWeb, Anda dapat dialihkan ke halaman Query Insight dari halaman SQL Editor atau halaman Historical Slow Queries.
Editor SQL: Jika Anda mengeksekusi pernyataan SQL dengan parameter Query ID di editor SQL HoloWeb dan durasi eksekusi lebih dari 1 detik, Anda akan langsung dialihkan ke halaman Query Insight.
Query Lambat Historis: Dalam daftar query, temukan pernyataan SQL yang diinginkan dan klik ikon
di kolom Actions untuk dialihkan ke halaman Query Insight.
Halaman Query Insight menyediakan empat tab: Query Metadata, Table Metadata, Plan Visualization, dan Table Lock Analysis.
Metadata Query
Data pada tab Metadata Query dikumpulkan dari log query lambat Hologres. Secara default, hanya pernyataan bahasa manipulasi data (DML) yang mengonsumsi lebih dari 100 ms dan semua pernyataan DDL yang dicatat dalam log query lambat. Tab ini menampilkan pernyataan DDL yang mengonsumsi lebih dari 1 detik. Izin tertentu diperlukan untuk menanyakan log query lambat. Untuk informasi lebih lanjut, lihat Menanyakan dan menganalisis log query lambat. Pada tab Query Metadata, konfigurasikan parameter Instance Name dan Query ID, lalu klik Search untuk menanyakan metadata.
Informasi Dasar
Menampilkan ID instance, database, dan versi instance dari query.
Informasi Query
Menampilkan informasi dasar tentang query, termasuk pengguna yang menjalankan query, status eksekusi, dan mesin eksekusi. Informasi ini dikumpulkan dari log query lambat.
Penggunaan Sumber Daya
Menampilkan konsumsi sumber daya selama query, termasuk fungsi pemindaian dan konsumsi CPU. Informasi ini dikumpulkan dari log query lambat.
Informasi Lainnya
Menampilkan informasi tambahan tentang query, seperti alamat IP klien. Informasi ini dikumpulkan dari log query lambat.
SQL
Menampilkan isi query. Anda dapat memformat query untuk tampilan yang lebih intuitif dan ramah pengguna, serta menyalin isi query.
Detail Query
Menampilkan nilai parameter dalam query ketika Anda mengonfigurasi parameter untuk menjalankan query. Anda juga dapat mengonfigurasi parameter dalam pernyataan SQL.
Rencana Eksekusi
Rencana eksekusi query ditentukan oleh bidang Plan dalam log query lambat. Sistem mengumpulkan rencana eksekusi dari query yang mengonsumsi lebih dari 10 detik. Anda juga dapat melihat rencana eksekusi secara visual untuk analisis dan optimasi query lebih lanjut. Untuk informasi lebih lanjut tentang rencana eksekusi, lihat EXPLAIN dan EXPLAIN ANALYZE.
Statistik
Menampilkan informasi runtime tentang query, termasuk konsumsi rinci setiap operator seperti jumlah baris yang dipindai dan durasi yang dikonsumsi oleh setiap operator. Informasi ini ditentukan oleh bidang Statistics dalam log query lambat. Anda dapat mengoptimalkan query berdasarkan statistik ini.
Informasi Tabel untuk Pembacaan dan Penulisan Data
Menampilkan tabel dari mana data dibaca dan ke mana data ditulis dalam query. Anda dapat mengklik item berikut di kolom Tindakan tabel sesuai kebutuhan bisnis:
Informasi Metadata Tabel: Klik untuk dialihkan ke tab Metadata Tabel guna menanyakan metadata tabel. Metadata tabel dikumpulkan dari tabel hg_table_info. Secara default, data diperbarui pada hari berikutnya. Oleh karena itu, Anda tidak dapat menanyakan metadata pada hari tabel dibuat.
Analisis Kunci Tabel: Klik untuk dialihkan ke halaman Analisis Kunci Tabel guna memeriksa apakah query saat ini mendapatkan kunci. Hanya kunci yang diperoleh oleh pernyataan DML yang dapat dideteksi. Misalnya, jika query SQL yang menggunakan rencana tetap melambat, Anda dapat memeriksa apakah pernyataan DML yang dieksekusi menggunakan Hologres Query Engine (HQE) dilakukan pada tabel tersebut.
Analisis Konflik DDL
Menampilkan pernyataan DDL yang dieksekusi pada tabel yang terlibat dalam query dalam rentang waktu 1 menit sebelum dan sesudah query dilakukan. Jika terjadi konflik DDL dan query gagal, pesan kesalahan berikut dilaporkan:
Query dibatalkan.Pesan Kesalahan
Menampilkan pesan kesalahan, termasuk penyebab kesalahan, jika query gagal. Halaman Query Insight di HoloWeb menyediakan fitur diagnosis cerdas SQL, yang mengembalikan penyebab kesalahan baru dan solusi untuk error message. Ini membantu Anda memperbaiki kesalahan dalam pernyataan SQL secara efisien. Untuk informasi lebih lanjut tentang kegagalan SQL umum dan solusinya, lihat FAQ tentang pernyataan SQL Hologres.
Metadata Tabel
Metadata tabel dikumpulkan dari tabel sistem hg_table_info Hologres. Sistem mengumpulkan dan melaporkan statistik tabel setiap pagi dan memperbarui tabel sistem pada hari berikutnya. Oleh karena itu, Anda hanya dapat menanyakan metadata tabel hari saat ini pada hari berikutnya.
Anda dapat mengklik Informasi Metadata Tabel di kolom Tindakan tabel pada tab Metadata Query untuk menanyakan metadata tabel. Anda juga dapat mengonfigurasi parameter Nama Instance, Database, Skema, Tabel, dan Waktu Pengumpulan, lalu klik Cari untuk menanyakan metadata tabel.
Informasi Dasar
Menampilkan nama tabel, status partisi, dan informasi partisi.
Informasi Metadata Tabel
Menampilkan waktu pembuatan tabel, waktu pengumpulan, dan ukuran penyimpanan.
Informasi Properti Tabel
Menampilkan indeks tabel, termasuk kunci utama dan kunci distribusi.
Informasi Skema Tabel
Menampilkan skema tabel, termasuk Nama Bidang, Tipe Bidang, Nullable, dan Nilai Default.
Visualisasi Rencana
Pada subtab ini, Anda dapat melihat rencana eksekusi yang ditentukan oleh bidang Plan dalam log query lambat secara visual. Sistem hanya mengumpulkan rencana eksekusi dari query yang mengonsumsi lebih dari 10 detik. Untuk informasi lebih lanjut tentang rencana eksekusi, lihat EXPLAIN dan EXPLAIN ANALYZE.
Analisis Kunci Tabel
Pada subtab ini, Anda dapat memeriksa apakah pernyataan SQL dalam query melibatkan pernyataan DML (INSERT, UPDATE, atau DELETE) yang dieksekusi menggunakan HQE. Dengan cara ini, Anda dapat memeriksa apakah eksekusi pernyataan SQL SDK melambat karena kunci. Jika query SDK atau HQE dan query DML HQE dilakukan pada tabel yang sama pada saat yang bersamaan, kunci ada. Kami merekomendasikan agar Anda tidak melakukan query pada saat yang bersamaan.
Menggunakan Query Insight untuk memecahkan masalah umum
Pesan kesalahan: relasi dengan OID xxx tidak ada.
Metode pemecahan masalah: Pesan kesalahan ini sering dilaporkan karena operasi seperti TRUNCATE atau DROP dilakukan pada tabel yang terlibat dalam query, sehingga pengidentifikasi objek tabel (OID) berubah. Dalam hal ini, gunakan fitur Query Insight untuk menemukan ID query yang melaporkan pesan kesalahan ini dan periksa apakah pernyataan DDL mendapatkan kunci ketika query dilakukan.

Pesan kesalahan: query dibatalkan.
Metode pemecahan masalah: Pesan kesalahan ini dilaporkan karena operasi DDL seperti TRUNCATE atau DROP dilakukan pada tabel ketika query dilakukan pada tabel. Dalam hal ini, akses halaman Query Insight dan tentukan parameter Query ID untuk mencari informasi tentang query. Di bagian DDL Conflict Analysis dari tab Query Metadata, periksa operasi DDL pada tabel.

Kesalahan: pernyataan SQL SDK memiliki latensi tinggi.
Metode pemecahan masalah: Jika pernyataan SQL SDK memiliki latensi tinggi, seperti 18 detik, gunakan fitur Query Insight untuk memeriksa apakah pernyataan SQL yang dieksekusi menggunakan HQE mendapatkan kunci tabel ketika query dilakukan. Di bagian Information of Table for Data Read and Write, temukan tabel yang diinginkan dan klik Analisis Kunci Tabel di kolom Tindakan.
Pernyataan DML yang dieksekusi menggunakan HQE ketika query dilakukan ditampilkan. Pernyataan DML yang dieksekusi menggunakan HQE mendapatkan kunci tabel. Akibatnya, pernyataan SQL SDK dalam query perlu menunggu kunci dilepaskan, meningkatkan durasi eksekusi. Jika tidak ada pernyataan DML berbasis HQE, tabel tidak terkunci. Dalam hal ini, lakukan pemecahan masalah dengan mengikuti instruksi di Optimalkan kinerja penulisan atau pembaruan data.