在多个 Join 的情况下,如何知道哪个 JOIN 花费更多时间?
How to know which JOIN takes more time in case of multiple Joins?
考虑以下查询:
SELECT *
FROM Table1
INNER JOIN Table2 ON Condition1
INNER JOIN Table3 ON Condition2
INNER JOIN Table4 ON Condition3
INNER JOIN Table5 ON Condition4;
有没有办法知道执行此查询时哪个连接花费更多时间?
您可以使用 EXPLAIN (ANALYZE) /* your query */
查找此类详细信息。看一下actual time
,但是考虑到结果是累加的,也就是说,你必须从下层节点减去时间才能得到一个节点的净时间。
你可以使用https://explain.depesz.com这样的执行计划,它会为你计算每一步的净时间。
考虑以下查询:
SELECT *
FROM Table1
INNER JOIN Table2 ON Condition1
INNER JOIN Table3 ON Condition2
INNER JOIN Table4 ON Condition3
INNER JOIN Table5 ON Condition4;
有没有办法知道执行此查询时哪个连接花费更多时间?
您可以使用 EXPLAIN (ANALYZE) /* your query */
查找此类详细信息。看一下actual time
,但是考虑到结果是累加的,也就是说,你必须从下层节点减去时间才能得到一个节点的净时间。
你可以使用https://explain.depesz.com这样的执行计划,它会为你计算每一步的净时间。