表格详情:
- table1有2000万条目
- table2有120个条目
这些请求的目标是返回是否存在现有条目,条目数量并不重要。
有人能解释一下为什么吗?
SELECT COUNT(rn) count
FROM
(
SELECT ROW_NUMBER() OVER (order by t2.id_field) AS rn
FROM table1 t1
INNER JOIN table2 t2 ON t2.id_table2 = t1.id_table2
WHERE t2.id_field = 2
)
WHERE rn < 2;
比起以下内容,它快了20倍:
SELECT COUNT(rn) count
FROM
(
SELECT 1 rn
FROM table1 t1
INNER JOIN table2 t2 ON t2.id_table2 = t1.id_table2
WHERE t2.id_field = 2
)
WHERE ROWNUM < 2;
EXISTS
了解一下...? - Joachim Isaksson