おがわみつぎの SQL Server な BLOG

雑多な日々

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

ニュース


Microsoft Most Valuable Professional

MVP プロファイル














過去の記事

カテゴリ

イメージギャラリ

BLOGS

MVP

技術系

白血病

  • [SQL Server]AND デモ
  1. 「AND.sql」を SQL Server Management Studio/クエリーアナライザー使って開く

  2. 前準備を実行する

  3. とりあえず実行プランを確認する

  4. 「PERSON_NAME」の非クラスタ化インデックスを作成

  5. テーブルヒント「INDEX(0)」「INDEX(1)」のそれぞれとテーブルヒントがないクエリーで実行プランを比較する



    実際の実行プラン

    テーブルヒントがないクエリーで、作成した「IX_MEMBER_PERSON_NAME」インデックスが使われず、クラスタ化インデックスの SEEK が行われていて、明らかに作成したインデックスが無効であることが理解できる

  6. 検索条件を網羅するカバリング・インデックスを作成してみる

  7. 再度、実行プランを確認

    カバリング・インデックスが使用されていることがわかる

  8. 最適なカバリング・インデックスを見つけるために、項目の順番を変えてみる

  9. 再度、実行プランを確認する






    バッチ相対のコストが一番低いのが、検索条件と同じ順番で作成したインデックスであることがわかる

  10. 結論
    検索時の条件と同じ順番でインデックスを作成すると最適なパフォーマンスが得られる
    また、検索引数(SARG)は否定を使うとインデックスが使用されなくなったり、暗黙的型変換を起こすような条件を指定するとパフォーマンスに多大な影響を与える

投稿日時 : 2007年9月2日 19:09

Feedback

No comments posted yet.

コメント

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