[pgsql-jp: 33461] Re: select文でセグメンテーション違反

TANIDA Yutaka tanida @ sra.co.jp
2004年 7月 2日 (金) 09:31:51 JST


谷田です。

On Fri, 2 Jul 2004 02:02:58 +0900
"Hitoshi Taniguchi" <taniguchi @ chihaya-t3.co.jp> wrote:

> > 引き続き調査をしてみます。
> 状況は、改善されていないのですが、メモリ関係の設定値を上げたり
> 下げたりして実験していて、不思議なことを発見しました。
> sort_mem = 31457280

!!

sort_memパラメーターは、ソートなどの時に各バックエンドがローカルで取得す
るメモリで、単位はKBです。つまり、この設定ですと31457280KB、約30GBを取得
していることになりますが、勘違いされていませんか?

詳しく追う時間がないので正確なことはいえませんが、オーバーフローして正し
い値になっていない可能性がありますね。

とはいえ、この項目をたとえば131072(128MB)などと指定すると、あろう事かソー
トなどなどが発生するたびにこれだけのメモリをバックエンドが確保するために、
あっというまに実メモリを使い切ってしまうことは目に見えています。

> 1G以下のデータのソート処理時間が10倍になりました。

1GB程度のデータのソートというのは、たとえ理想的なクイックソートであって
もものすごく骨の折れる作業です。Indexを張ることを考慮されてはいかがでしょ
うか?



-- 
TANIDA Yutaka <tanida @ sra.co.jp>




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