Query Planner
Định nghĩa
Query Planner là thành phần của database chọn cách thực thi SQL query dựa trên schema, index, statistics, estimated cardinality và cost model.
Cách hiểu bằng lời của tôi
SQL nói “muốn dữ liệu gì”; planner quyết định “lấy bằng cách nào”. Planner có thể chọn index scan, sequential scan, nested loop, hash join, merge join hoặc một thứ tự join khác. Nếu statistics sai hoặc index không khớp access pattern, planner có thể chọn plan tệ dù query nhìn có vẻ đúng.
Điều ảnh hưởng tới planner
- Statistics về data distribution và cardinality.
- Index có sẵn và thứ tự column trong composite index.
- Predicate selectivity.
- Join condition và filter có được đẩy sớm không.
- Kích thước bảng/partition và cost I/O.