processing model
- iterator/volcano model タプルを一つ一つ返すモデル
- materialization model 一気にデータを返すモデル
- vectorized model バッチでデータを返すモデル
optimization
- zone map
- page内のタプルにアグリゲーションを予め行ったページを記録しておいて使う
- late materialization
- タプルじゃなくてオフセットを返して、最後にタプルを取得する
- zone map
multi-index scan
- 複数のインデックスを使える場合、それぞれからレコードID取り出して or 条件の場合和集合を取り、and 条件の場合は積集合を取る
- postgresql は bitmap index scan とよんでいる
index scan page sorting
- クラスタインデックスではない場合、indexが参照しているページの順番がindexの内容と異なっている場合がある
- このときバッファプールが小さいと何度もリードが発生する
- これを防ぐためにpage idを最初に取得してソートしてページを読む