ページに広告が含まれる場合があります。
本日の勉強
本日の勉強内容:DBMS_索引
勉強時間:10分
索引とは
いわゆる目次、索引=インデックスともいわれるもの。
索引がない場合:DBを1行1行確認することになる。
索引には、該当する行が格納されている場所が示されているため、参照することができる。
なぜ索引だと速いのか?
索引は、整列されている→データが整列されているため。
「2分探索」のような手法で検索できるため。
索引を作成する
主キー制約と一意性制約を付与した時点で自動的に作成される。
または、項目を指定して自由に索引を作成することも可能。
ユニーク索引と非ユニーク索引
ユニーク索引:重複を許可しない索引
非ユニーク索引:重複を許さないという制約がない索引
索引の種類
「B+木インデックス」と「ビットマップインデックス」などが存在する。
B+木インデックス:
値は最下層の「葉」だけに持っている。
葉はリスト構造
ビットマップインデックス:
値の種類が少ないであろう項目に適用すると効率的
範囲指定の検索、追加、更新、削除の操作を行う操作 → B+木インデックス
値の種類が少ない、否定を使った検索、NULLを使った検索、AND/ORを使った検索
→ ビットマップインデックス
まとめ
インデックスについては仕事でも使用しているため、ある程度知識はありました。
ただ、正しいインデックスを使うことで検索が早くなるという程度の認識でした。
索引の使い方を理解してデータベースの構築を考えたいと思います。
コメント