Performance Optimization in PostgreSQL
Explain & Explain Analyze
Explain giúp giải thích các bước thực hiện trong câu query là gì với các thông số về cost, rows, widths,...
EXPLAIN SELECT * FROM inventory_tbl;
cost: chi phí để thực hiện query. Nó là số lượng tính toán cần thiết để hoàn thành. Giá trị từ X đến Y.
X thể hiện cost cần tiêu tốn để khởi động nhiệm vụ
Y thể hiện các đơn vị tính toán cần thiết để hoàn thành nhiệm vụ
rows: số lượng rows mà Postgres nghĩ rằng nó cần scan để thực thi query.
width: độ rộng trung bình của mỗi rows sau khi thực thi query. Tính theo đơn vị byte của tất cả các column được select.
Explain analyze sẽ thực thi luôn chứ không chỉ là plan nữa. Do vậy, nên sử dụng trong transaction.
BEGIN;
EXPLAIN ANALYZE DELETE FROM inventory_tbl;
ROLLBACK;