有的时候PG给出的执行计划由于很多原因并不是最优的,需要手动指定执行路径时我们可以加载pg_hint_plan这个插件。1 安装插件预先安装Postgresql10.7检查文件2 加载插件2.1 当前会话加载注意这样加载只在当前回话生效。如果配置错了,连接template1库执行2.3 cluster级自动加载重启数据库3 检查是否已经加载pg_hint_plan加载后在extension里面是看不到的,所以需要确认插件是否已经加载或者如果使用load方式加载不需要检查。4 使用插件定制执行计划4.1 初始化测试数据创建索引4.2 强制走index scan4.3 强制多条件组合组合两个条件走indexscan组合两个条件走indexscan+seqscan4.4 强制指定join method强制走循环嵌套连接控制连接顺序4.5 控制单条SQL的costset seq_page_cost 200,注意下面的cost已经变成了200.04

浅谈pg_hint_plan定制执行计划

浅谈pg_hint_plan定制执行计划

浅谈pg_hint_plan定制执行计划

浅谈pg_hint_plan定制执行计划

浅谈pg_hint_plan定制执行计划

浅谈pg_hint_plan定制执行计划

浅谈pg_hint_plan定制执行计划

浅谈pg_hint_plan定制执行计划