[pgsql-jp: 29032] Re: Like を使った前方一致検索時のインデックス使用条件について

Mashiki mashiki @ yanah.com
2003年 2月 14日 (金) 09:33:53 JST


 Mashikiです。

>完全一致検索よりもコストが掛かる、というのは理解出来ます。
>
>ただし、↑にもありますが、'A%' の前方検索と さうではない
>部分検索 '%A%' 及び 後方検索 '%A' とではコストの掛かり方は全く違うはずです。
>
>前方検索の 'A%' は、やはりインデックスを使うべき・・使えるはず
>いや使って欲しいんですけどね。
>実際、どのようなインデックスを作っているかにも拠るとは思いますが
>何か設定が悪いんでしょぅか?

VACUUM ANALYZE 
をかけても結果は変わらないでしょうか?

あとは強制的にインデックスを使わせるとか。

>逆に その他の条件(部分・後方)は、論理的に全走査しか無いと思います。
>
>> # 少なくともテストした範囲では上記のパターンの検索では
>> # INDEX RANGE SCANかINDEX FULL SCANを使用しました。
>
>oracle ではインデックス使ってましたか・・うっっ。

使ったことありませんが、Oracleにリバースインデックスてのも
ありましたね。
後方一致には便利そうです。

PHPも関数インデクスをはれるので、後方一致が必要となればそのように
書けばいいと思っています。

# いずれにしても、'%A%'はお手上げです。別の工夫が必要ですね。




pgsql-jp メーリングリストの案内