Index · Seq Scan và Index Scan
Không có index thì đọc cả bảng, có index thì đi thẳng tới dòng cần
Sequential Scan so với tìm qua B-tree index
Không có index, PostgreSQL đọc cả 1.000.000 dòng của perf.orders để kiểm tra customer_id; có index idx_orders_customer_id, PostgreSQL đi từ gốc B-tree xuống nhánh chứa khóa 4242, tới lá đã sắp xếp rồi chỉ đọc 9 dòng khớp.
SELECT * FROM perf.orders WHERE customer_id = 4242;
KHÔNG CÓ INDEX
Sequential Scan
ĐỌC MỌI DÒNG
perf.orders
kiểm tra customer_id ở 1.000.000 dòng
CÓ INDEX · idx_orders_customer_id
Đi theo B-tree index
ĐỌC DÒNG KHỚP
Gốc
idx_orders_customer_id
Nhánh khác
không chứa 4242
bỏ qua cả nhánh
Nhánh chứa 4242
khoảng khóa có 4242
Lá: khóa đã sắp xếp
4242 → 9 vị trí dòng
Bảng perf.orders
chỉ đọc 9 dòng khớp
© tiennhm