0
我一直在分析NHibernate爲下面的代碼片段生成的SQL查詢。我認爲代碼#1會更有效率,但是,生成的SQL讓我懷疑。哪個NHibernate/SQL「Exists」查詢更高效(以及如何知道)?
1)bool any = Query.Where(user => user.Id == 1).Any();
生成:
select
*
from
users
where exists
(select id
from users
where id = 1)
and rownum <= 1
2)bool any = Query.Where(user => user.Id == 1).Count() > 1;
生成:
select
count(*)
from
users
where
id = 1
哪個更有效?未來,我將如何確定這一點?我正在使用Oracle。