【发布时间】:2011-11-17 18:34:00
【问题描述】:
我一直在分析 NHibernate 为以下 sn-ps 生成的 SQL 查询。我认为代码 #1 会更高效,但是,生成的 SQL 让我怀疑。
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。
【问题讨论】:
标签: .net sql oracle nhibernate database-performance