• ベストアンサー

インデックスの再構築の意味って何ですか?

SQLServer2000 SP3a Widnows2000Server を使用しています。 今社内のプログラムを見ていて あるテーブルのインデックスの再構築を行う プログラムを発見したのですが、 インデックスの再構築って何なのでしょうか? 全てのテーブルについて再構築するのではなく データベースの中の100ぐらいのテーブルの 中の3つぐらいだけインデックスの再構築を していました。 どんないいことがあるのでしょうか? メリット・デメリット? どなたか何か些細なことでも分かる方 教えて下さい。宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.3

#1の方も#2の方も再構築の理由になってないような・・・ おそらく定期的に行うようになってるんですよね。 テーブルに更新がかかると、インデックスも同時に更新されます。で、頻繁に更新がかかるようなテーブルですと、インデックスの検索効率が落ちてきてしまいます。 このため、再作成を行うことで、検索効率を元に戻すということを行います。 これがメリットです。 デメリットとしては、再作成を使用中に行うと大変なことになることですかね。インデックスが効かなくなるわけですし。

SEAMOON
質問者

お礼

>テーブルに更新がかかると、インデックスも同時に更新さ>れます。で、頻繁に更新がかかるようなテーブルですと、>インデックスの検索効率が落ちてきてしまいます。 納得いきました。ありがとうございます。

その他の回答 (2)

  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.2

インデックスの再構築はデータベース全体の効率向上のために行ないます。 設計時はある予測に基づいてアクセスの多そうなDBにインデックスを張りますがある程度使った実績に基づいてインデックスの再構築を行ない最適化を行ないます。

SEAMOON
質問者

お礼

ふむふむ。回答ありがとうございます。

  • Swordline
  • ベストアンサー率42% (291/688)
回答No.1

インデックスって、「索引」という意味なんです。 インデックスを作ると、検索機能の効率が上がります。 これがメリットですね。 デメリットは、インデックスはディスク容量を減らします。 インデックスするテーブルが多ければ多いだけ消費してしまいます。 するとサーバのディスク容量が足りなくなる可能性があります。 よって、検索を頻繁に行うテーブルのみ、インデックスを作成、構築しているのではないかと。

SEAMOON
質問者

お礼

回答ありがとうございます。

関連するQ&A