おがわみつぎの SQL Server な BLOG

雑多な日々

PASSJブログ ホーム 連絡をする RSS ATOM Login
  276 投稿数 :: 0 ストーリー :: 329 コメント :: 67 トラックバック

ニュース


Microsoft Most Valuable Professional

MVP プロファイル














過去の記事

カテゴリ

イメージギャラリ

BLOGS

MVP

技術系

白血病

  • [SQL Server 2005]JOIN デモ
  1. 「JOIN.sql」を SQL Server Management Studio で開く

  2. 前準備を実行する

  3. クラスタ化インデックス(主キー)のみで結合してみる


    Software-NUMA の設定を行っているため、分散クエリーになっているので、少々わかりにくい

  4. 同じクエリーを MAXDOP 1 にして実行してみる


    クラスタ化インデックスのスキャンと Hash Match アグリゲーションが発生しているため、非常にコストが高いことが想像できる

  5. まずは CHARGE テーブルのカバリング・インデックスを作成する
    検索条件や結合条件から

    で作成し、実行プランを確認する

    作成した IX_CHARGE_COVER インデックスが使用されていることがわかる

  6. つぎに PREFECTURE テーブルにカバリング・インデックスを作成する
    検索条件や結合条件から

    で作成し、実行プランを確認する

    作成した IX_PREFECTURE_COVER インデックスが使用されているのがわかる

  7. 次に VENDER テーブルにカバリング・インデックス + INCLUDE オプションのインデックスを作成する
    検索条件、結合条件、抽出項目から

    で作成し、実行プランを確認する

    作成した IX_VENDER_COVER インデックスが使用されていることがわかる

  8. 次に MEMBER テーブルにカバリング・インデックス + INCLUDE オプションのインデックスを作成する
    検索条件、結合条件、抽出項目から

    で作成し、実行プランを確認する

    作成した IX_MEMBER_COVER インデックスが使用されていることがわかる

  9. 最後に STATEMENT テーブルにカバリング・インデックス + INCLUDE オプションのインデックスを作成する
    検索条件、結合条件、抽出項目から

    で作成し、実行プランを確認する

    作成した IX_STATEMENT_COVER インデックスが使用されていることがわかる

  10. 結論
    検索条件、結合条件、抽出項目で必要なカバリング・インデックスを作成する
    ただし、項目の順番を間違うと最適なパフォーマンスが得られない
    どの項目をどの順番で作成すればいいのかわからない場合は、次の記事を参考にするように

投稿日時 : 2007年9月5日 21:01

Feedback

No comments posted yet.

コメント

タイトル:
名前:
Url:
コメント: