コスト計算

co-sakaです。こんにちは。


Ludiaのコストはbtreeなどのインデックスと異なり、
ちょっと特殊な仕様となっています。
Ludiaのシーケンシャルスキャンは一部の機能が使えず、
強引にインデックススキャンを選択させるため、
Ludiaのコストはかなり低く設定されています。


しかし、コストを低くしすぎたために、
1クエリ内で、何度も繰り返しムダに
インデックススキャンされる現象が見られています。
(Ludia-usersメーリングリストを参照。)


Ludia1.4.0で、シーケンシャルスキャンの機能はほぼ揃いました。
そこで、Ludia1.4.0では、コストの設定を選択できるようにします。
選択肢は以下の3つ。

0、従来のコスト計算
1、Ludia-usersメーリングリストのように、ある1行をスキップ。
2、ginインデックスと同じコスト計算方法。

postgresql.confにludia.cost=1のように記述すれば設定できます。
いつも通りです。


さて、どれをデフォルトにすべきか・・・。

コスト計算 その2 - Ludia開発日記