如何获取外部表的解释

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

我有一个疑问,本质上是

SELECT *
FROM foreign_table_a
LEFT JOIN local_table_b on foreign_table_a.id = local_table_b.id

我正在查看datagrip中的解释分析,除了我大部分时间都花在外国扫描上之外,我并没有真正获得任何信息。

我如何知道外部表中发生了什么?我是否需要解析正在运行该外部扫描的 sql 并在外部服务器上运行解释?

我也不确定为什么此连接使用嵌套循环。所有被比较的东西都有一个索引,所以你会认为它会更有效,对吧?

此外,外表实际上是一个视图。是否可以使用

ANALYZE
收集有关外国视图的统计数据?

sql postgresql sql-execution-plan explain
1个回答
0
投票

我假设你指的是 postgres_fdw。

您可以通过

EXPLAIN (VERBOSE) SELECT ...
查看远程查询。如果仍然不清楚为什么需要这么长时间,请直接在远程服务器上使用
EXPLAIN (ANALYZE, BUFFERS, SETTINGS)
进行远程查询并运行它。

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