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。