在 postgres 中启用嵌套循环连接并禁用哈希连接。

问题描述 投票:0回答:1

我想禁用 postgres 默认使用的 hashjoin 算法,并启用嵌套循环连接算法,有人可以告诉我该怎么做吗?

我尝试修改 postgresql.conf 文件,在其中设置值enable_hashjoin=off 和enable_mergejoin=off,以便我可以强制postgres 使用嵌套循环。 但即使修改了 postgresql.conf 文件后,postgres 仍然使用哈希连接算法。

我确实尝试了 pg_ctl reload 命令来重新加载配置文件,但它仍然使用散列连接算法而不是嵌套循环算法。我什至重新启动了服务器,即使这样它仍然使用哈希连接算法

有人可以告诉我我做错了什么,或者是否有任何其他文件需要我修改以强制 postgres 使用嵌套循环算法。

PS:我已经在pg_hackers邮件列表中发布了这个问题,但我还没有得到任何答案,所以我在这里发布。

谢谢

postgresql
1个回答
0
投票

我在使用 Postgres 时在 PHP 代码中实现了这一点,如下所示:

$db = pg_connect(“主机=”.DBHost。”端口=”.DBPORT。”用户=”.DBUserName。”密码=”.DBPassword。”dbname=”.DBName);

pg_query($db, "设置enable_hashjoin=off"); pg_query($db, "设置enable_mergejoin=off");

© www.soinside.com 2019 - 2024. All rights reserved.