【发布时间】:2021-04-23 13:59:55
【问题描述】:
我有一个非常昂贵的查询,并且需要一个多小时才能执行。我尝试将 EXISTS 子句转换为加入,但我卡住了,有人可以帮忙吗?
目的是在唯一的空间 id 中查找重复的产品。 FLAT_TABLE 包含 500 万条记录。
查询:
select
tbl1.product,
tbl1.status,
tbl1.reservation,
tbl1.unique_space_id
FROM
schema1.flat_table tbl1
WHERE
tbl1.status = 'Active'
AND tbl1.product = 'Cage'
AND EXISTS
(SELECT 1
FROM schema1.flat_table tbl2
WHERE tbl2.product = 'Cage'
AND tbl2.status = 'Active'
AND tbl2.reservation <> 'Space Reserved'
AND tbl1.unique_space_id = tbl2.unique_space_id
GROUP BY tbl2.unique_space_id
HAVING COUNT (1) > 1
);
【问题讨论】:
标签: sql oracle performance exists