none
空間インデックスの再構築について RRS feed

  • 質問


  • 空間インデックスが貼ってあるテーブルにinsertした場合、
    空間インデックスをリビルドしなければいけないのでしょうか?

    通常のインデックスの場合、断片化を改善する為にリビルドしますが、
    空間インデックスの場合、通常のインデックスとは違った取扱い方をしなければいけないのでしょうか?

    空間インデックスをリビルドした場合のメリット、しない場合のデメリットも教えてほしいです。

    環境:SQLSERVER2014

    ご教授の程よろしくお願い致します。

    2015年2月5日 13:43

回答

  • インデックスを再構築するかどうかは、データ特性やスキーマの設計によりますので、ケースバイケースということになるかと思います。
    データ特性やスキーマの設計次第で断片化しないインデックスもありますし、断片化の解消による変化が不要なほど小さいと見なせるケースもありますし、一概に「しなければいけない」と言えるものではありませんので、個別のケースに応じてバランスを見て判断されるのがよろしいかと思います。
    下記ページの下部にある「空間インデックスに関する制限」が主なデメリット、並びに通常のインデックスとは違った扱いを要する事項になります。
    https://technet.microsoft.com/ja-jp/library/ms188388(v=sql.120).aspx

    MCITP(Database Developer/Database Administrator)


    2015年2月7日 15:33

すべての返信

  • インデックスを再構築するかどうかは、データ特性やスキーマの設計によりますので、ケースバイケースということになるかと思います。
    データ特性やスキーマの設計次第で断片化しないインデックスもありますし、断片化の解消による変化が不要なほど小さいと見なせるケースもありますし、一概に「しなければいけない」と言えるものではありませんので、個別のケースに応じてバランスを見て判断されるのがよろしいかと思います。
    下記ページの下部にある「空間インデックスに関する制限」が主なデメリット、並びに通常のインデックスとは違った扱いを要する事項になります。
    https://technet.microsoft.com/ja-jp/library/ms188388(v=sql.120).aspx

    MCITP(Database Developer/Database Administrator)


    2015年2月7日 15:33
  • お返事ありがとうございます。

    少し内容が難しくて理解しきれない部分も多いのですが、もう少し勉強してみます。

    アドバイスありがとうございます。

    2015年2月19日 13:08
  • 前回返信時にソースが見つからなかったので書かなかったのですが、たまたま今日見つけたので若干の補足を。

    空間インデックスですが、以下のページにさらっと書かれているとおり内部的には B ツリー(平衡木)の構造となっており、そういう観点では既存のインデックスとよく似ています。
    https://technet.microsoft.com/ja-jp/library/bb895265.aspx
    ですので、本質的には断片化しうるものですので、「適切なタイミングでリビルドする運用」とするかどうか検討するべきだと言えるかと思います。


    MCITP(Database Developer/Database Administrator)

    2015年2月19日 14:18