我有个问题
SELECT *
FROM foreign_table_a
LEFT JOIN local_table_b on foreign_table_a.id = local_table_b.id
字符串
我在看datagrip中的解释分析,除了我大部分时间花在外国扫描上之外,我真的没有得到任何信息。
的数据
我如何弄清楚外部表中发生了什么?我是否需要解析出运行外部扫描的SQL,并在外部服务器上运行解释?
我也不知道为什么这个连接要用一个嵌套的循环。所有被比较的东西都有一个索引,所以你会认为它会更有效,对吗?
另外,外部表实际上是一个视图。是否可以使用ANALYZE
收集外部视图的统计信息?
1条答案
按热度按时间sf6xfgos1#
我想你是指postgres_fdw。
您可以看到使用
EXPLAIN (VERBOSE) SELECT ...
的远程查询。如果仍然不清楚为什么需要这么长时间,请直接在远程服务器上使用EXPLAIN (ANALYZE, BUFFERS, SETTINGS)
运行该远程查询。