【发布时间】:2013-07-09 14:03:01
【问题描述】:
以下哪个 HQL 查询计算速度更快,即更高效?
from Cat as cat
left join cat.kittens as kitten
with kitten.bodyWeight > 10.0
或
from Cat as cat
left join cat.kittens as kitten
where
kitten.bodyWeight > 10.0
【问题讨论】:
-
它会产生不同的结果。第一个查询将返回所有猫。
-
有什么区别?
-
第一个将返回所有猫,因为外部连接中的
with不会减少结果集。第二个查询返回至少有一只比 10 重的小猫的所有猫。 -
假设我使用了inner join,那该怎么办呢?
-
我认为性能不会有任何差异。看一下执行计划。正如我在回答中已经解释的那样:它取决于底层 DBMS,与休眠无关。
标签: hibernate grails join grails-2.0