Visualisasi EXPLAIN PostgreSQL

Ubah JSON EXPLAIN ANALYZE menjadi pohon rencana yang mudah dibaca, lengkap dengan waktu, estimasi, dan buffer

Masukan

Tempel keluaran EXPLAIN (FORMAT JSON). Keluaran psql dengan header QUERY PLAN dan penanda + juga didukung.

Hingga 5 MB, dianalisis di browser Anda dan tidak pernah disimpan.

Ringkasan

Tempel rencana EXPLAIN PostgreSQL

Jalankan perintah di bawah, tempel hasil JSON di sebelah kiri, atau muat contoh.

Perintah yang disarankan

EXPLAIN (
  ANALYZE,
  BUFFERS,
  SETTINGS,
  WAL,
  VERBOSE,
  FORMAT JSON
)
SELECT ...;

ANALYZE menjalankan pernyataan. Bungkus INSERT, UPDATE, atau DELETE dengan BEGIN dan ROLLBACK.

Rencana

Pohon rencana muncul di sini setelah rencana yang valid ditempel.

Menunggu rencana EXPLAIN.

Apa yang ditampilkan

PostgreSQL EXPLAIN Visualizer mengubah keluaran EXPLAIN (FORMAT JSON) menjadi pohon rencana yang dapat dilipat, tabel node yang dapat diurutkan, dan JSON mentah yang terformat. Ringkasan menampilkan waktu eksekusi dan perencanaan, jumlah node, node paling lambat, selisih estimasi baris terbesar, dan blok shared read. Pilih node mana pun untuk melihat semua field yang dilaporkan PostgreSQL.

Cara mengambil rencana

Jalankan EXPLAIN (ANALYZE, BUFFERS, SETTINGS, WAL, VERBOSE, FORMAT JSON) diikuti kueri Anda, lalu tempel hasilnya. Keluaran psql dengan header QUERY PLAN, penanda lanjutan + dan footer jumlah baris dibersihkan otomatis. ANALYZE menjalankan pernyataan, jadi bungkus INSERT, UPDATE, dan DELETE dengan BEGIN dan ROLLBACK. Rencana tanpa ANALYZE tetap menampilkan biaya dan estimasi, tetapi temuan berbasis waktu dilewati.

Cara metrik dihitung

Waktu total adalah waktu aktual per perulangan dikali jumlah perulangan; di bawah node Gather nilainya dibagi jumlah proses agar kerja paralel tidak dihitung berulang. Waktu sendiri dikurangi waktu total node anak dan dibatasi minimal nol, sehingga merupakan perkiraan untuk rencana paralel, CTE, InitPlan, dan SubPlan. Faktor estimasi membandingkan baris aktual dan estimasi per perulangan. Jumlah buffer di EXPLAIN sudah termasuk node anak, sehingga nilai sendiri dikurangi milik anak. Ukuran blok diasumsikan 8 kB bawaan.

Temuan dan batasannya

Temuan adalah pengamatan dengan angka dari rencana: selisih estimasi baris yang besar, Nested Loop dengan banyak eksekusi sisi dalam, pemindaian sekuensial yang membuang sebagian besar baris, sort dan hash yang tumpah ke disk, file sementara, pembacaan dari luar shared buffers, dan node yang mendominasi waktu eksekusi. Sarannya hati-hati dan tidak pernah menyebut indeks tertentu untuk dibuat, karena rencana saja tidak menunjukkan frekuensi kueri, beban tulis, atau distribusi data.

Privasi

Rencana dapat memperlihatkan nama tabel, nama skema, predikat, dan nilai literal. Rencana diurai di browser Anda, rencana besar di Web Worker, dan tidak pernah diunggah, dicatat, atau disimpan. Hanya tampilan yang dipilih (Pohon, Tabel, atau Mentah) yang diingat.

CodingTool resmi diluncurkan di

Launched on StartupBaseCodingTool.dev - Free, Fast & Easy Developer Tools in One Place | Product HuntCodingTool - Featured on Startup FameFazier badgeListed on Turbo0Featured on Twelve ToolsFeatured on Findly.toolsLaunchpadly Startup DirectoryCodingTool.dev — Featured on Smol Launch