[データベース] インデックス

インデックスのメリット

  • SELECT(検索)が早くなる
  • 外部キーを利用したリレーションが使えるようになる

インデックスのデメリット

  • インデックスの分、余計に容量をくう
  • インデックス更新のため、INSERT(挿入)、UPDATE(更新)、DELETE(削除)が遅くなる

インデックスを使うべき場合

  • テーブル(表)のレコード数が多い
  • INSERT(挿入)、UPDATE(更新)、DELETE(削除)が少なく、SELECT(検索)が多い
  • カラムの値のパターンが多い
  • カラムを条件設定(WHERE)でよく使う
  • NULL値を使わない/NULL値の行が少ない
  • データベースの容量を気にする必要がない

これらの逆のときは、インデックスをむしろ使わないほうがいいということになる。

参考サイト

http://www.dbonline.jp/sqlite/index/index1.html
http://itpro.nikkeibp.co.jp/article/COLUMN/20060111/227105/
http://www.atmarkit.co.jp/fdb/rensai/orasql07/orasql07_1.html

データベースMySQL

Posted by takasho