0

从外部包装视图中选择比在源数据库上直接选择需要 15 倍以上的时间。

尝试将 USE_REMOTE_ESTIMATE 'true' 添加到外部服务器。还尝试完全杀死 where 子句(将其烘焙到视图中),所以我知道没有谓词/聚合下推问题!

-- On source system (massively complex union of 200 schemas), AWS RDS PG 9.5
explain verbose select * from stats where company_id = 26531;
-- [ 2125 lines of stuff!]
select * from stats where company_id = 26531;
-- completes in 1 - 2.5 seconds

-- From FDW (entirely different AWS RDS instance w/ PG 11)
explain verbose 
select * from remoteschema.stats where company_id = 26531;
/*
Foreign Scan on stats  (cost=311780.75..323299.91 rows=306770 width=394)
Output: columns
Remote SQL: SELECT columns FROM remoteschema.stats WHERE ((company_id = 26531))
*/
select * from remoteschema.stats where company_id = 26531;
-- completes in 20 seconds

没有要发送的中间结果(没有本地连接),所以我不知道为什么这么慢。我已经阅读了 PG 9.5 FDW 的问题,后来的版本解决了这些问题。是我只需要升级那个数据库吗?

4

0 回答 0