Data flow · EXPLAIN ANALYZE, PostgreSQL 16
Bọc hàm quanh cột và viết lại thành khoảng
Bọc hàm quanh cột và viết lại thành khoảng
Điều kiện date_part bọc quanh tao_luc dẫn tới Seq Scan đọc cả 200.000 dòng, bỏ 162.482 dòng, mất 29,6 ms, planner ước 1.000 dòng trong khi thực tế 37.518. Điều kiện khoảng trên cột trần dẫn tới Bitmap Index Scan trên idx_don_tao_luc rồi Bitmap Heap Scan, mất 5,4 ms, ước 38.225 dòng, thực tế 37.518.
ĐIỀU KIỆN WHERE
ĐƯỜNG ĐỌC DỮ LIỆU
THỜI GIAN · SỐ DÒNG
Bọc hàm quanh cột
date_part('year', tao_luc)
= 2026
Seq Scan on don
tính date_part cho cả 200.000 dòng
Filter bỏ đi 162.482 dòng
29,6 ms
ước 1.000 dòng
thực 37.518 dòng
Khoảng trên cột trần
tao_luc >= '2026-01-01'
AND tao_luc < '2027-01-01'
Bitmap Index Scan
idx_don_tao_luc
nhảy tới khoảng 2026
Bitmap Heap Scan
chỉ đọc trang khớp
37.518 dòng
5,4 ms
ước 38.225 dòng
thực 37.518 dòng
CHÚ GIẢI
Nút trong execution plan
Kế hoạch dùng index
© tiennhm