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