[Ludia-users 7] Re: PGS2_MAX_N_INDEX_CACHE について

Back to archive index

iwasa****@nttda***** iwasa****@nttda*****
2006年 12月 19日 (火) 18:44:30 JST


岩崎です。


> あわせてお手数をおかけしますが、以下のような認識でよろしいでしょうか?
> 
> ===================================================
> 
> ・検索用テーブル作成
> メリット
>  一般的な選択肢
>  メモリ使用量は一定
> 
> デメリット
>  インデックスが大きくなる
> 
> ===================================================
> 
> ・テーブル分割(継承)
> メリット
>  SET constraint_exclusion TO on
>  の状態だと範囲が明確な場合には最低限のメモリで動く(かも)
>  インデックスの作り直しがしやすい
> 
> デメリット
>  同時に参照されるとメモリー効率が悪い
> 
> ===================================================

あっていると思います。
ただ、「テーブル分割」のデメリットのところですが、
一度オープンしたインデックスはオープンしっぱなしなので、
「同時に参照」されなくても、いろいろな検索を繰り返しているうちに、
結局全部のインデックスがオープンされて
メモリを消費することになってしまうと思います。
(特にコネクションプーリングでバックエンドプロセスが生き続ける場合)



> とすると
> 
> INITIAL_N_SEGMENTS :512
> メモリ使用量:130M
> 最大インデックスサイズ:8G
> 
> (テーブルを8つに分割)
> INITIAL_N_SEGMENTS :64
> メモリ使用量:約16M
> 最大インデックスサイズ:1G
> 
> 上記のような分割も有効なのでしょうか?
> 実際には分割した場合には96や128ぐらいにしそうですが。。。

もう更新されない過去の月次テーブルなどであればそれもありだと思います。
実をいうとINITIAL_N_SEGMENTSを増やしたことはあっても
減らして試したことがないので、、、
もし検証されたら結果を教えていただけるとうれしいです。


-- 
岩崎正剛



Ludia-users メーリングリストの案内
Back to archive index