長期以來,我一直在使用EXISTS
子句來確定給定條件下給定表中是否至少存在一條記錄。 - 例如,如果我想看看是否由姓氏=「史密斯」僱員在「僱員」表存在,我用下面的查詢Oracle EXISTS子句Vs ROWNUM = 1
select 1
into v_exists_flag
from dual
where exists (select 1
from employee
where lastname = 'smith'
)
這比使用次數肯定更有效的是(*)條款。
select count(*)
into v_count
from employee
where lastname = 'smith'
如果v_count> 0,則....
不過,最近有人指出,使用ROWNUM = 1比使用如下圖所示
select 1
into v_count
from employee
where lastname = 'smith'
and rownum = 1
難道這就是EXISTS子句更好的性能正確?有人可以證實這一點。
在此先感謝
謝謝你們倆(斯蒂芬和普熱米斯瓦夫)! – user2836468
嗨Przemyslaw - 我剛剛讀過Adam Musch的文章。按照他的職位 - 如果列被編入索引,則無顯着差異。 – user2836468
對不起 - 我誤打誤打了。 – user2836468