0

Javaを使用したWeb開発にSQLサーバー2008を使用しています.JavaでHibernateを使用しています.

非常に多くのフィルタリング基準、並べ替え、グループ化、結合を伴う負荷の高いクエリが原因で、SQLサーバーがダウンします。

i am を使用することによる提案またはメカニズムは、サーバーがダウンするのを防ぎます。

ヘルプ/提案をお寄せいただきありがとうございます。

4

3 に答える 3

2

システムに最も大きな負荷をかけている特定のクエリを特定します (SQL プロファイラーはあなたの友人です。適切な MSFT ライセンスを持っていない場合は、無料のものがあります)。

最初に重いクエリに焦点を当てます。クエリ プランとは何かを確認してください (SQL Server は、インデックス作成戦略の変更を提案する点で優れています)。必要に応じて、最悪の違反者を手作業で書き直すか、別のクエリ戦略を使用するように Hibernate を構成します。

また、Hibernateでの第 1 レベルと第 2 レベルのキャッシュについても調べてください。適切なキャッシングにより、データベースへの負担を大幅に軽減できます。

その時点までに、より具体的な回答に役立つ具体的な質問が必要です。

于 2012-04-04T08:22:35.670 に答える
1

負荷の高いクエリを使用している理由は、プロシージャで試すことができます。重いクワイアを渡すよりも、パフォーマンスを向上させます。また、頻繁に使用されるクエリのインデックスを作成することもできます。

これをチェックしてください、 http://forums.codeguru.com/showthread.php?t=337736

于 2012-04-04T08:22:08.480 に答える
1

これも役立つ無料のツールです。SQL Server トレースを (SQL プロファイラーなどを使用して) キャプチャしたら、無料のクエリ アナライザー ツールを使用して、トレースを非常に詳細かつ非常に直感的に分析できます。トレース (たとえば、アプリケーションの変更や環境の変更の前後) を比較して、データベースのワークロードへの影響を確認することもできます。

ツールはここからダウンロードできます: Qure Profiler - 無料の SQL Server トレース分析ツール

于 2012-04-10T07:10:59.707 に答える