0

SQL Server 2008 データベースに、約 130,000 レコードを含むdbo.app_additional_infoというテーブルがあります。以下に、テーブルの構造を示します。

ここに画像の説明を入力

SQL Server Management Studio 2008 で以下のようなクエリを実行すると

select app_additional_text
from app_additional_info
where application_id = 2665 --Could be any ID here

クエリの実行に時間がかかり (最大 5 分)、タイムアウトになることがあります。このデータベースは Web アプリケーションにも接続されており、上記のクエリを実行すると、常にタイムアウト エラーが発生します。

クエリのパフォーマンスを向上させるためにできることはありますか?

これは私の Web アプリケーションを停止させているので、これに関するあなたの助けは大歓迎です。

ありがとう。

アップデート

以下に、SSMS からの実行計画を示します (品質が悪くて申し訳ありません)。

ここに画像の説明を入力 ここに画像の説明を入力

4

1 に答える 1

1

質問の限られた情報に基づいて、application_id にインデックスがないため、テーブル スキャンを行っているようです。だから、これを試してください:

CREATE INDEX IX_app_additional_info_application_id on 
                app_additional_info (application_id)

クエリがはるかに高速に実行されるはずです。

于 2012-10-26T14:39:59.623 に答える