我有一个使用CONNECT BY
和START WITH
语句的查询,如下所示。IN 子句中的查询运行时间不到 5 秒,并返回 3000 行。fact_table
包含 20M 的记录。我如何在下面优化这个 SQL,因为这个查询需要永远运行:(
SELECT DISTINCT CONNECT_BY_ROOT a.dst_ID_key AS root_ID_key, a.src_ID_key
FROM fact_table a
CONNECT BY NOCYCLE PRIOR a.src_ID_key = a.dst_ID_key
START WITH a.dst_ID_key IN (SELECT b.ID_key
FROM TableA b
JOIN TableB c
ON (c.name = b.name AND c.school = b.school)
WHERE b.status = 'Active')