[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 メーリングリストの案内