[pgsql-jp: 29772] Re: substring を使用した場合の検索結果について

Hirokazu Matsumura matsumurah @ citizen.co.jp
2003年 5月 2日 (金) 10:05:55 JST


皆様おはようございます。松村です。
仲村様、油井様返答有難う御座いました(^^)

> この場合は取り敢えず, 関数インデックスを使わなければならないと思いま
す.
> http://developer.postgresql.org/docs/postgres/indexes-functional.html
>
> コストの見積もりが,
> cost=0.00..1191.36 rows=108 width=238
> に対して, 実際の結果が
> actual time=175.69..345.42 rows=1 loops=1
> となっていますが, 統計情報の更新(analyze)は行ないましたか?
> #SET STATISTICS xxして, より詳細な統計と取ったりもできます..
>
> 確か結構前のバージョンからか, vacuumとanalyzeは別になったとか聞いたよ
うな
> あと, vacuumも単にvacuumでなくて, _一度_, vacuum full(排他的ロックが
かか
> ります)すると
> 物理的に縮小される(ケースもある)ので, 微妙に早くなるかも知れません.

関数インデックスを以下のようにして作成してみました。
1.create index col2_substr on test1 (substring(cols,1,3))
parse errorで怒られてしまいました(^^;

又、--analizeや--full等を試みてみましたが、今回はこちらも変化が無いよう
に思いました。
今回は時間も無く仕方が無いので、テーブルに項目を1つ追加してインデック
スを付加し、
substringを使用しないように致しました。

私としても、「関数インデックス」がポイントになりそうな気がするので
時間の有る時に引き続き調べてみようと思います。
どうも有難う御座いました!

----------------------------------------------
松村 浩一
----------------------------------------------




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