[pgsql-jp: 27375] Re: --enable-locale と検索速度の関連

Hideyuki Nihei nihei @ jcross.com
2002年 9月 11日 (水) 09:47:43 JST


二瓶@ブレインテックです。
いつも参考にさせていただいております。

便乗っぽく質問というか、確認で大変恐縮なのですが
現在、文書情報をDB化して検索するシステムをPostgreSQLにて作っているのですが
下記のような状況というか、問題は現在提供されているPostgreSQLの
すべてのバージョンに当てはまると考えてよろしいでしょうか?
(一応過去ログをみて多分そうだと思いますが・・・。確認ということで)

ご回答よろしくお願いいたします。

ちなみに現在使用している環境は
OS      RedHat 7.1
PostgreSQL 7.1.3

以上


At 02/09/10 23:38, you wrote:
>石井です.
>
>
>--enable-localeを取ると*劇的に*速くなるのは,関連する列が以下のケース
>に限られます.
>
>o 文字列型のデータ型である
>o Btreeインデックスが定義してある
>o 前方一致検索を行う
>
>このような場合,PostgreSQLは
>
>       foo LIKE 'a%'
>
>のような問い合わせを
>
>       foo >= 'a' AND foo < 'b'
>
>のように書き換えてインデックスが使えるようにします(この説明は正確では
>ありません.あくまでイメージです).この結果,劇的に高速化するわけです.
>
>ところが,locale を使うようなケースでは,一般に「'a'よりも大きい文字」
>を探すのが困難であるため,このような書き換えを行うことができず,インデッ
>クスが使われないので遅くなってしまうわけです.
>
>もっとも,PostgreSQLでは,日本語を扱う限りにおいては,どのみち locale 
>は意味無いですから,オーバヘッドを減らすためにも常に locale を無効にし
>ておくのがよいでしょう.過去一部の Red Hat系のLInuxディストリビューショ
>ンでは,ロケール処理がバグっていて,--enable-locale が有効な 
>PostgreSQL を使うと,遅いどころか*誤った*検索結果が返るという,とんで
>もない問題を抱えているものもありました.



---
*-----------------------------------------*
(株)ブレインテック インターネット事業部
         二瓶 英行
 TEL: 03-3449-7261
 FAX: 03-3449-7381
 E-Mail: nihei @ jcross.com
 URL: http://www.jcross.com/
*-----------------------------------------*




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