0

次のような 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 秒かかります。私は休止状態の初心者です。このおかげで最適化するための助けに感謝します。

4

1 に答える 1

0

私が提案できることは2つあります:

1] 'IN' 句を使用しないでください。2] 必要がない場合は、order by を使用しないでください。

アミット:)

于 2013-09-10T14:08:37.000 に答える