我有一个像这样的HQL查询:
Select
... (around 40 items)...
from
ATable a
left outer join a.subA SubA
left outer join a.subB SubB
left outer join a.Names Names
left outer join Names.Addresses Addresses
left outer join Names.Phones Phones
left outer join a.Roles Roles
where
a.aType.someType in ('...')
and (Names.id.FKey in('...') or Names.id.FKey is null)
and upper(a.pin) like upper('some%')
and upper(Names.lastName) like upper('Some%')
order by a.pin asc
由于某些原因,这次会超时,但是使用Toad时,hibernate生成的查询(从日志中获取)需要5秒钟才能执行。我是hibernate的新手。我很感谢任何帮助来优化这个谢谢。
答案 0 :(得分:0)
我可以提出两件事:
1]避免使用'IN'子句。 2]如果没有必要,请避免使用订单。
阿米特:)