Hibernate-HQL帮助优化查询
我有一个HQL查询,如下所示:Hibernate-HQL帮助优化查询,hibernate,hql,Hibernate,Hql,我有一个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
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
出于某种原因,这会超时,但hibernate生成的查询(取自日志)在使用Toad时需要5秒钟才能执行。我是冬眠的新手。我非常感谢任何帮助来优化此感谢。我可以建议两件事: 1] 避免使用“IN”子句。 2] 如果没有必要,请避免使用order by 阿米特:)