*概要 [#h1dadad4]
-RDB 周りの基本知識

* [#f2a34be5]

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

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

**単一インデックス [#k1b715d0]
*** [#g62b01a3]

**他の DB との関係 [#a6428970]

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