[pgsql-jp: 29028] Re: Like を使った前方一致検索時のインデックス使用条件について
Yasunori KAKU
ykaku @ pesceluna.com
2003年 2月 13日 (木) 19:10:10 JST
角@ぺしぇるーな・こむ です。
> どの DBMS でも LIKE は一般にコストが高いと思います。
インデックスを使用する、しないに係らず、
Like演算子を使用した場合、コストが高いというのは
何となくうなずけますね。
# 経験則的、ってやつですか。(^^ゞ
私の知っている範囲で申し上げると、
Oracleでは、ルールベースオプティマイザを使用した場合、
Like 'A%'ではインデックス(INDEX RANGE SCAN)を使用しますが、
Like '%A%'、Like '_A%'、Not Like 'A%'で全表走査です。
では、コストベースではどうかというと、
それこそテーブルの規模やデータ量、
統計情報の計算方法などで変わるので、
ケースバイケースとしか言いようがないです。
# 少なくともテストした範囲では上記のパターンの検索では
# INDEX RANGE SCANかINDEX FULL SCANを使用しました。
角 泰徳 <Yasunori KAKU>
HP-URL : http://www.pesceluna.com/
E-Mail : ykaku @ pesceluna.com
pgsql-jp メーリングリストの案内