3

現在、プロジェクトで MS SQL Server 2008 を使用しています。

ソリューションでパフォーマンス テストを行ったところ、一部のクエリの実行にかかる時間が非常に遅くなったことがわかりました。

例えば。システムに入るトランザクションが 1 つだけの場合、選択クエリの実行にかかる時間は約 40 ミリ秒です。

同時実行性が高い場合、選択クエリの実行にかかる時間は、同じクエリに対して最大 30 秒かかる場合があります。

データベースなどを調整できる方法はありますか?

これは、Hibernate が生成したクエリです。

SELECT . . . 
FROM TERMINAL this_ 
LEFT OUTER JOIN MERCHANT merchant2_ ON this_.MERCHANT_FK=merchant2_.ID 
LEFT OUTER JOIN MOBILE_USER mobileuser3_ ON this_.MOBILEUSER_FK=mobileuser3_.ID 
LEFT OUTER JOIN MERCHANT merchant4_ ON mobileuser3_.MERCHANT_FK=merchant4_.ID 
WHERE this_.MOBILEUSER_FK=7 AND this_.STATUS='ACTIVE' LIMIT 1
4

1 に答える 1

-1

テーブルにそれほど多くのデータがない場合、これはより高速になる可能性があります。

SELECT . . . 
FROM TERMINAL this_ 
LEFT OUTER JOIN MOBILE_USER mobileuser3_ ON this_.MOBILEUSER_FK=mobileuser3_.ID 
LEFT OUTER JOIN MERCHANT merchant4_ ON mobileuser3_.MERCHANT_FK=merchant4_.ID 
WHERE this_.MOBILEUSER_FK=7 AND this_.STATUS='ACTIVE' and 
this_.MERCHANT_FK in (SELECT merchant2_.ID FROM MERCHANT merchant2_)
于 2013-01-13T07:08:38.553 に答える