每个事务的计划程序方法配置

时间:2019-01-10 09:22:27

标签: postgresql

在Postgres 11.x中,是否可以为特定交易配置query planner parameters

对于特定查询,我想:

SET ENABLE_NESTLOOP TO FALSE;
... run special query
SET ENABLE_NESTLOOP TO TRUE;

2 个答案:

答案 0 :(得分:1)

是的,可以使用SET LOCAL轻松完成:

BEGIN;
SET LOCAL enable_nestloop = off;
SELECT ...;
COMMIT;

the documentation这样说:

  

SET LOCAL的影响仅持续到当前事务结束为止,无论是否提交。

答案 1 :(得分:0)

此信息在SET的文档中进行了描述

  

如果在稍后中止的事务中发出SET(或等效的SET SESSION),则在回滚该事务时SET命令的效果会消失。一旦完成周围的事务,效果将一直持续到会话结束,除非被另一个SET覆盖。

尤其可以使用SET LOCAL

  

SET LOCAL的影响仅持续到当前事务结束为止,无论是否提交。