PostgreSQL 19 将新增查询提示功能,通过 pg_plan_advice 等扩展模块,用户可指定连接顺序、扫描方式和索引,覆盖优化器默认计划。该功能适用于无法修改的查询或函数估算错误场景,但官方提醒优化器通常正确,应优先分析表和调优索引,提示仅按查询 ID 精准使用,并常检查执行计划。
PostgreSQL不支持查询提示,但可安装pg_hint_plan扩展程序获得Oracle风格的查询提示。使用优化器障碍和参数设置可影响执行计划,强制执行特定连接顺序。使用OFFSET 0或CTE可防止优化器重新排列查询,join_collapse_limit参数可控制连接顺序。但未安装扩展程序时难以强制执行操作。
本文介绍了如何使用pg_hint_plan扩展在PostgreSQL中添加查询提示,尽管功能不如Oracle强大,但满足日常DBA工作需求。目前缺少通过存储过程/函数轻松添加提示的功能,唯一方法是手动操作'hints'表。文章还介绍了如何规范化SQL语句并将其放入'hints'表中,以及如何显示、添加和删除查询提示。
完成下面两步后,将自动完成登录并继续当前操作。