概要

  • RDB 周りの基本知識

インデックス

  • レコード = SSD 内に格納された行
  • 内部実装
    • インデックスは、SSD 上に埋め込まれた (column -> record pointer の) 順序付き辞書
    • 複合インデックスは column -> record pointer の辞書ではなく、tuple(column, column) -> record pointer になっているだけ。
    • 関数インデックスは、column -> record pointer の辞書ではなく、f(column) -> record pointer になっているだけ。
    • B+木という平衡多分木が SSD に埋め込まれている。これは毎回の SSD ランダムアクセスが遅いので、多分木のノードリストを一括で取りたいから。
  • インデックスも SSD に埋め込まれているのは、インメモリで全レコードのカラムを展開することが不可能だと推定すべきため。
  • それ以上でもそれ以下でもない。これ以上、変な議論をしている複合インデックスの説明は、読み飛ばすこと。有害。

実行計画

  • 実行計画の表示は、DB によって全然変わってくるので、それぞれについて勉強しなければならない。
    • だが、Oracle の実行計画が読みやすく理解しやすいので、その用語で一旦説明して、最後に他の DB との関わりについて議論する

単一インデックス

他の DB との関係


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS