[pgsql-jp: 41885] Re: 1行のサイズが2KBを超えたときの性能について

michio.kataoka.pmb @ rand.co.jp michio.kataoka.pmb @ rand.co.jp
2016年 8月 5日 (金) 18:58:48 JST


JPUG高塚 様

片岡です。フォローありがとうございます。


データの格納効率では「極端」というほどの性能低下にはならないような気がし
ますが、
格納効率という視点はなかったのでとても参考になりました。

なるべくTOASTさせないように、とばかり考えていましたが
仰るとおり本体の行がぐっと小さくなれば 逆にいろいろ捗る場面もありそうで
す。
面白いです!




----- Original Message -----
> 
> インラインでいくつか記載します。
> 
> On Thu, 04 Aug 2016 13:19:44 +0900
> <michio.kataoka.pmb @ rand.co.jp> wrote:
> 
> > ご回答ありがとうございます。片岡です。
> > Let's Postgresのページ、とても有り難く読ませていただいています、
> > 中の人にご回答いただけて光栄です!
> 
> 私は沢山記事を書いた人ではないですが、著者のみなさんも
> 本MLを見ていると思います。
> 
> > 2KBはTOASTと行内カラムに纏わるお話だったのですね。
> > なんとなくわかってきた気がします。
> > 
> > ・TOASTが効くので、varchar(N) や numeric などで2KBを超えても問題ない。
> >  ただし、TOASTされない行内カラムはそのまま行のサイズを増やしてしま
う。
> > ・1行当たり8KBを超えると保存できなくなる。
> > ・TOASTされた行が全テーブル通算40億に近づくと著しい速度低下を引き起
こす。
> >  ( https://wiki.postgresql.org/wiki/TOAST/ja> > ・行が2KBに収まっていればTOASTが使われないので40億行の制限はない。
> > 
> > 
> > Let's Postgresにある「極端に性能が落ちる場合」について、
> > TOASTのカウンタ(OID)の最大値にまつわるものだと理解しました。
> 
> 私の先のメールは、データの格納効率の低下による性能低下を意図
> して書きました。もちろん wiki.postgresql.org の TOAST記事に
> 書かれている問題もそれはそれで存在します。
> 
> # http://lets.postgresql.jp/map/tuning の著者からコメント
> # あればお願いします。
> 
> > 40億って4byteでしょうか、もうすこし多くてもいい気がしますが
> > 検索してもあまりこのお話し出てきませんし、
> > 回避方法もいくつかあるので実用上問題無いんでしょうね。。
> 
> そうですね。
> OID より XID の方が「4byte を 8byte にしようぜ」という話が
> 定期的にでてきますね。
> 
> _________________________________________________________
> 日本PostgreSQLユーザ会  高塚 遙  http://www.postgresql.jp 
> 
> 




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