2016-12-10 15 views
0

私は12テーブルを照会しているSPを持っていますが、サイズが約15GBと非常に大きなテーブルはほとんどありません。私は日時フィールドを約15列の1ヶ月のデータを取得するために照会しています。SQL Serverで実行計画を使用してSQLクエリ/ SPを最適化する方法は?

インデックスを使用してSQLサーバーに最適化クエリを書き込む方法を段階的に提案してください。

私は実行計画を共有することはできませんが、ハッシュ一致(内部結合)の唯一の問題は今実行時間がかかることです。

ありがとうございます。

+3

現在のクエリのインデックスと実行計画が表示されます。 –

+0

@Prdpのように、より多くの情報を投稿しました。実行計画を以下のサイトで共有することができます:https://www.brentozar.com/pastetheplan/ – SqlZim

+0

申し訳ありませんが、銀行クライアントの機密データからプランを共有することはできませんが、インデックススキャンがないことを保証できます私の実行計画が最大時間はRID(ヒープ)ルックアップによって取られます。 –

答えて

1

一時テーブルを使用して、1ヶ月の日付範囲に基づいて結果セットを最小化し、次に確実に問題を解決する一時テーブルにクラスタ化インデックスを作成します。

+0

ありがとうジョー、あなたの提案は本当に助け、今私の質問は本当に速く実行され、現在の挑戦は実行時間の大半を占めるハッシュマッチ(内部結合)です。 –

+0

ハッシュマッチの2つのプロセスは何ですか? – pacreely

+0

一時テーブルとトランザクションテーブルのclient_id数値フィールド –

1

「テーブルスキャン」と「クラスタ化インデックススキャン」は、両方ともそのテーブルのインデックスの必要性または既存のインデックスの調整が必要であることを示します。私はあなたにもっと多くを与えるだろうが、これは大規模なテーマです。

クラスタード・インデックスで高価なKEYルックアップを使用している場合は、通常、これを適切なカバリング・インデックスで修正できます。

+1

RIDルックアップは、テーブルにクラスタ化インデックスがまったく存在しないことを意味します。 –

+0

よく斑点が付けられ、それに応じて修正されました。ありがとう。 – pacreely

関連する問題