Visualisasi rencana kueri

Gunakan visualizer paket kueri di ekstensi PostgreSQL untuk memeriksa output PostgreSQL EXPLAIN tanpa meninggalkan editor Anda. Anda dapat membuat paket dari editor kueri atau panel Hasil Kueri PostgreSQL, atau membuka output paket JSON atau TEXT yang ada dari editor. Visualizer berjalan dengan cara yang sama di Visual Studio Code dan Kursor.

Prerequisites

  • Ekstensi PostgreSQL terinstal .
  • Koneksi aktif ke server PostgreSQL jika Anda ingin membuat rencana eksekusi langsung melalui editor kueri atau panel Hasil Kueri PostgreSQL.
  • Asisten AI opsional jika Anda ingin analisis yang dibantu AI: instal GitHub Copilot di Visual Studio Code, atau gunakan AI bawaan di Kursor.
  • Output opsional EXPLAIN yang sudah terbuka di editor jika Anda ingin mengimpor rencana yang disimpan tanpa terhubung ke database.

Pilih cara membuka paket

Gunakan titik masuk yang cocok dengan alur kerja Anda:

  • Editor kueri: Pilih Visualisasikan Rencana Kueri (PostgreSQL) di toolbar editor. Jika Anda tidak memilih teks terlebih dahulu, ekstensi menggunakan konten editor saat ini.
  • Panel Hasil Kueri PostgreSQL: Jalankan kueri, lalu pilih Visualisasikan Rencana Kueri di toolbar panel Hasil Kueri PostgreSQL untuk memeriksa kueri yang menghasilkan tataan hasil tersebut.
  • Paket yang diimpor: Buka tab editor apa pun yang berisi output paket PostgreSQL, lalu jalankan PGSQL: Visualisasikan Rencana Kueri dari Editor dari Palet Perintah.

Buat rencana dari kueri langsung

  1. Buka file SQL yang ingin Anda periksa di editor kueri.
  2. Sambungkan ke database target.
  3. Pilih pernyataan yang ingin Anda analisis. Jika Anda membiarkan pilihan kosong, ekstensi menggunakan konten editor saat ini.
  4. Pilih Visualisasikan Rencana Kueri (PostgreSQL) di toolbar editor. Anda juga bisa menjalankan kueri terlebih dahulu lalu memilih Visualisasikan Rencana Kueri di panel Hasil Kueri PostgreSQL .
  5. Di Konfigurasikan Rencana Kueri, pilih format dan opsi yang Anda inginkan, lalu tekan Enter.
  6. Tinjau rencana di visualisasi.

Mengonfigurasi opsi rencana kueri

Pemilih Konfigurasikan Rencana Kueri memungkinkan Anda memilih format output dan opsi EXPLAIN yang akan dijalankan.

Option Apa yang berubah
JSON Mengembalikan output rencana terstruktur yang berfungsi optimal di berbagai tampilan visual.
TEKS Mengembalikan output teks EXPLAIN biasa PostgreSQL dan mempertahankan sumber tersebut dalam Tampilan Sumber.
MENGANALISIS Menjalankan kueri dan menyertakan statistik aktual saat eksekusi.
BUFFER Menambahkan statistik penggunaan buffer. Memilihnya secara otomatis mengaktifkan ANALYZE.
WAKTU Menambahkan data waktu aktual. Memilihnya secara otomatis mengaktifkan ANALYZE.
WAL Menambahkan statistik penggunaan WAL. Memilihnya secara otomatis mengaktifkan ANALYZE.
VERBOSE Menambahkan detail output tambahan seperti skema dan informasi kolom.
BIAYA Termasuk perkiraan startup dan total nilai biaya.
PENGATURAN Menyertakan pengaturan perencana yang berbeda dari default.

Caution

EXPLAIN ANALYZE menjalankan kueri. Jika pernyataan memodifikasi data, seperti INSERT, , UPDATE, DELETEatau TRUNCATE, ekstensi menunjukkan permintaan konfirmasi sebelum berlanjut.

Buka rencana yang disimpan dari editor

  1. Buka tab editor yang berisi output PostgreSQL EXPLAIN dalam formulir JSON atau TEXT.
  2. Buka Palet Perintah (Ctrl+Shift+P).
  3. Jalankan PGSQL: Visualisasikan Rencana Kueri dari Editor.
  4. Tinjau rencana yang diimpor di visualisasi.

Alur kerja ini tidak memerlukan koneksi database aktif. Perintah ini membaca isi editor saat ini, sehingga Anda dapat menggunakannya dengan output rencana yang disalin, file .json atau .txt yang disimpan, atau teks rencana yang ditempelkan ke editor sementara.

Beralih antar tampilan

Gunakan pemilih tampilan di toolbar untuk berpindah di antara Tampilan Pohon, Tampilan Icicle, Tampilan Tabel, dan Tampilan Sumber.

Tampilan Pohon

Tampilan Pohon terbuka secara default. Gunakan ini saat Anda menginginkan diagram per node untuk rencana eksekusi.

  • Gunakan kontrol zoom untuk memperbesar, memperkecil, mengatur ulang tampilan, atau menyesuaikan denah ke jendela.
  • Gunakan panel opsi untuk mengubah arah tata letak dan metrik warna yang menyoroti simpul mahal atau tidak biasa.
  • Pilih simpul untuk membuka panel detail.
  • Klik kanan simpul untuk melompat ke tampilan lain atau menganalisis simpul tersebut dengan asisten AI.

Tampilan Tabel

Gunakan Tampilan Tabel saat Anda ingin mengurutkan, mencari, dan membandingkan banyak simpul sekaligus.

  • Rencana ini diubah menjadi tabel yang dapat diurutkan, bukan struktur pohon yang dapat diciutkan.
  • Kotak pencarian hanya muncul di Tampilan Tabel.
  • Pencarian mencocokkan jenis node, nama relasi, nama indeks, alias, teks filter, dan nama subrencana.
  • Gunakan pemilih prasetel untuk fokus pada Performa, Perkiraan, Efisiensi, atau I/O, atau sesuaikan kolom metrik yang terlihat.

Tampilan Icicle

Gunakan Icicle View saat Anda menginginkan ringkasan visual selebar penuh yang menunjukkan area konsentrasi biaya, waktu, atau penggunaan buffer.

  • Tampilan Icicle adalah tampilan terpisah, bukan panel di dalam Tampilan Pohon.
  • Gunakan panel opsi untuk beralih preset, mengubah metrik lebar, mengubah metrik warna, dan beralih antara cakupan mandiri dan total jika didukung.
  • Arahkan mouse ke atas blok untuk memeriksa metriknya, atau klik kanan blok untuk membuka detail atau berpindah ke tampilan lain.

Tampilan Sumber

Gunakan Tampilan Sumber saat Anda menginginkan output paket asli.

  • Pilih Opsi untuk beralih antara mode Pohon dan Teks .
  • Panel menunjukkan apakah sumber yang diimpor atau dihasilkan adalah JSON atau TEXT.
  • Perluas Semua dan Ciutkan Semua hanya muncul di toolbar saat Tampilan Sumber aktif.
  • Dalam mode Teks, rencana dibuka di editor hanya baca. Dalam mode Tree, Anda dapat meninjau struktur hasil penguraian sebagai tampilan pohon yang dapat diciutkan.

Pilih Salin Rencana kapan saja untuk menyalin sumber rencana saat ini ke papan klip. Paket JSON disalin dalam bentuk yang diformat, dan paket TEXT disalin sebagai sumber aslinya.

Periksa simpul rencana

Pilih simpul di Tampilan Pohon, Tampilan Tabel, atau Tampilan Icicle untuk membuka panel detail.

  • Umum menunjukkan jenis node, metrik utama, dan detail analisis khusus rencana.
  • I/O muncul saat paket menyertakan data buffer.
  • Kondisi muncul saat simpul mengekspos filter, kondisi gabungan, atau predikat serupa.

Gunakan panel ini untuk membandingkan perkiraan dengan kerja aktual, memeriksa simpul yang banyak menggunakan buffer, dan mengonfirmasi predikat mana yang menentukan rencana.

Menganalisis rencana dengan asisten AI

Gunakan asisten AI bila Anda ingin ekstensi membuka chat analisis dengan rencana saat ini sebagai konteks.

Analisis rencana lengkap

  1. Buka rencana di alat visualisasi.
  2. Pilih Analisis dengan Copilot (atau Analisis dengan AI di Kursor).
  3. Pilih apakah akan menyertakan teks kueri SQL Anda dengan analisis.
  4. Tinjau sesi obrolan baru yang terbuka dalam mode Agen.

Jika paket berasal dari PGSQL: Visualisasikan Rencana Kueri dari Editor dan belum ada teks SQL yang berguna, ekstensi dapat meminta Anda untuk memasukkan kueri terlebih dahulu sehingga AI memiliki konteks yang lebih baik.

Analisis satu node

  1. Klik kanan simpul yang ingin Anda periksa.
  2. Pilih Analisis simpul ini dengan Copilot (atau Analisis simpul ini dengan AI di Kursor).
  3. Tinjau sesi obrolan baru mode Agen untuk analisis khusus simpul.

Mengontrol apakah teks SQL disertakan

Pengaturan pgsql.copilot.autoAttachQuery mengontrol bagaimana ekstensi menangani teks SQL saat meluncurkan analisis AI:

  • Tanyakan apakah akan menyertakan SQL setiap kali
  • Selalu sertakan SQL tanpa meminta
  • Jangan pernah menyertakan SQL

Saat Anda memilih untuk menyertakan atau mengecualikan SQL dari perintah, ekstensi juga dapat menawarkan untuk mengingat pilihan tersebut untuk sesi di masa mendatang.

Menggunakan alat rencana kueri dalam mode Agen

Visualisator menyimpan rencana saat ini dalam cache dan menyediakannya kepada asisten AI melalui alat pgsql_query_plan, atau padanan MCP-nya pada host yang didukung. Alat itu mendukung tindakan ini:

Tindakan Gunakan untuk itu
get_summary Dapatkan ringkasan seluruh paket sebelum mendalami detailnya.
get_node Periksa satu node berdasarkan ID.
get_subtree Periksa node beserta turunannya.
list_nodes Temukan simpul berdasarkan jenis atau biaya minimum.

Jika Anda ingin AI memulai dari kueri aktif alih-alih visualizer, gunakan Analisis Performa Kueri dari submenu Tindakan Kueri AI editor. Gunakan visualizer saat Anda ingin memeriksa rencana sendiri terlebih dahulu lalu berikan rencana yang tepat ke AI.

Tips untuk analisis performa

  • Gunakan ANALYZE saat aman untuk menjalankan pernyataan. Estimasi saja dapat menyembunyikan asumsi tentang jumlah baris yang keliru.
  • Bandingkan perkiraan dan jumlah baris aktual untuk menemukan statistik kedaluarsa atau memfilter masalah selektivitas.
  • Beralih ke Tampilan Tabel saat rencananya besar dan Anda memerlukan pencarian atau perbandingan metrik secara berdampingan.
  • Beralih ke Tampilan Sumber saat Anda memerlukan plan mentah untuk suatu isu, tinjauan kode, atau diskusi bersama rekan satu tim.