我想禁用 postgres 默认使用的 hashjoin 算法,并启用嵌套循环连接算法,有人可以告诉我该怎么做吗?
我尝试修改 postgresql.conf 文件,在其中设置值enable_hashjoin=off 和enable_mergejoin=off,以便我可以强制postgres 使用嵌套循环。 但即使修改了 postgresql.conf 文件后,postgres 仍然使用哈希连接算法。
我确实尝试了 pg_ctl reload 命令来重新加载配置文件,但它仍然使用散列连接算法而不是嵌套循环算法。我什至重新启动了服务器,即使这样它仍然使用哈希连接算法
有人可以告诉我我做错了什么,或者是否有任何其他文件需要我修改以强制 postgres 使用嵌套循环算法。
PS:我已经在pg_hackers邮件列表中发布了这个问题,但我还没有得到任何答案,所以我在这里发布。
谢谢
我在使用 Postgres 时在 PHP 代码中实现了这一点,如下所示:
$db = pg_connect(“主机=”.DBHost。”端口=”.DBPORT。”用户=”.DBUserName。”密码=”.DBPassword。”dbname=”.DBName);
pg_query($db, "设置enable_hashjoin=off"); pg_query($db, "设置enable_mergejoin=off");