CMU 15-445 Query Processingのメモ

  • processing model

    • iterator/volcano model タプルを一つ一つ返すモデル
    • materialization model 一気にデータを返すモデル
    • vectorized model バッチでデータを返すモデル
  • optimization

    • zone map
      • page内のタプルにアグリゲーションを予め行ったページを記録しておいて使う
    • late materialization
      • タプルじゃなくてオフセットを返して、最後にタプルを取得する
  • multi-index scan

    • 複数のインデックスを使える場合、それぞれからレコードID取り出して or 条件の場合和集合を取り、and 条件の場合は積集合を取る
    • postgresql は bitmap index scan とよんでいる
  • index scan page sorting

    • クラスタインデックスではない場合、indexが参照しているページの順番がindexの内容と異なっている場合がある
    • このときバッファプールが小さいと何度もリードが発生する
    • これを防ぐためにpage idを最初に取得してソートしてページを読む