gpt4 book ai didi

postgresql - postgres_fdw : possible to push data to foreign server for join?

转载 作者:行者123 更新时间:2023-11-29 12:23:57 26 4
gpt4 key购买 nike

假设我有这样的查询

select * from remote_table
join local_table using(common_key)

其中 remote_table 是一个带有 postgres_fdwFOREIGN TABLElocal_table 是一个常规表。

local_table 很小(100 行)而 remote_table 很大(数百万行)。

看起来远程表被完整地拉出并在本地连接,而将较小的表发送到远程服务器并远程连接会更有效。

有没有办法让 postgres_fdw 做到这一点?

最佳答案

你不能用连接来做到这一点,因为不同服务器上的表之间的连接总是在本地执行。

你可以尝试的是:

SELECT *
FROM (SELECT *
FROM remote_table
WHERE common_key IN (SELECT common_key FROM local_table)
) a
JOIN local_table USING (common_key);

我没有测试它,所以我不确定它是否有效,但想法是为外部表扫描使用一个可以下推的条件,并尽可能减少获取的数据量。

关于postgresql - postgres_fdw : possible to push data to foreign server for join?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51970227/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com