pg_hint_plan 是 NTT 提供的一个扩展,它允许将显式的优化器提示嵌入到实际 SQL 查询之前的特殊格式的注释块中。或者,带有提示的查询也可以存储在特殊的配置表中。
请注意,虽然 pg_hint_plan 的文档有英文版,但日文原版通常更新更及时(见下方的链接)。
发布历史
| 日期 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | |
|---|---|---|---|---|---|---|---|---|---|---|
| 1.3.5 | 2020-02 | x | x | x | ||||||
| 1.3.4 | 2019-01 | x | ||||||||
| 1.3.3 | 2019-01 | x | x | |||||||
| 1.3.2 | 2018-11 | x | x | |||||||
| 1.3.1 | 2018-06 | x | ||||||||
| 1.3.0 | 2017-10 | x | ||||||||
| 1.2.6 | 2020-02 | x | ||||||||
| 1.2.5 | 2019-01 | x | ||||||||
| 1.2.4 | 2018-11 | x | ||||||||
| 1.2.3 | 2018-06 | x | ||||||||
| 1.2.2 | 2017-07 | x | ||||||||
| 1.2.1 | 2017-05 | x | ||||||||
| 1.2.0 | 2017-02 | x | ||||||||
| 1.1.9 | 2020-02 | x | x | |||||||
| 1.1.8 | 2019-01 | x | x | |||||||
| 1.1.7 | 2018-11 | x | x | |||||||
| 1.1.6 | 2018-06 | x | x | x | ||||||
| 1.1.5 | 2017-07 | x | x | x | ||||||
| 1.1.4 | 2017-05 | x | x | |||||||
| 1.1.3 | 2014-12 | x | x | x | x | |||||
| 1.1.2 | 2014-12 | x | x | x | ||||||
| 1.1.1 | 2014-09 | x | x | x | ||||||
| 1.0.2 | 2014-12 | x |
示例
/*+
HashJoin(a b)
SeqScan(a)
*/
SELECT *
FROM pgbench_branches b
JOIN pgbench_accounts a ON b.bid = a.bid
ORDER BY a.aid;
上面的例子将导致优化器使用表a上的 seq scan 结果与表b进行 hash join。
参考资料
- OSDN.JP 项目页面: https://osdn.net/projects/pghintplan/
- GitHub: pg_hint_plan
- 文档: 日文
- 文档: 英文 - 注意,截至 2019 年初,此翻译已过时
