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

Hajime Lucky Okada paraiso @ luckyo.8m.com
2003年 2月 13日 (木) 19:35:21 JST


こんにちは、岡田です。

Yasunori KAKU wrote:
> 
> # 経験則的、ってやつですか。(^^ゞ
> 
> 
> 私の知っている範囲で申し上げると、
> Oracleでは、ルールベースオプティマイザを使用した場合、
> Like 'A%'ではインデックス(INDEX RANGE SCAN)を使用しますが、
> Like '%A%'、Like '_A%'、Not Like 'A%'で全表走査です。

完全一致検索よりもコストが掛かる、というのは理解出来ます。

ただし、↑にもありますが、'A%' の前方検索と さうではない
部分検索 '%A%' 及び 後方検索 '%A' とではコストの掛かり方は全く違うはずです。

前方検索の 'A%' は、やはりインデックスを使うべき・・使えるはず
いや使って欲しいんですけどね。
実際、どのようなインデックスを作っているかにも拠るとは思いますが
何か設定が悪いんでしょぅか?

逆に その他の条件(部分・後方)は、論理的に全走査しか無いと思います。


> # 少なくともテストした範囲では上記のパターンの検索では
> # INDEX RANGE SCANかINDEX FULL SCANを使用しました。

oracle ではインデックス使ってましたか・・うっっ。


岡田はじめ




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