postgresql DBを使用してNULL値を格納するために必要なディスク容量はどれくらいですか?
テーブルの列に次のような定義があるとしましょう。"MyColumn" smallint NULL
0,1などの値を格納するには2バイト(1)が必要です。しかし、 "MyColumn"をNULLに設定した場合、どれくらいのスペースが必要ですか? 0バイト必要ですか?
管理目的など、すべての列/行に必要なバイトがいくつかありますか?
(1)http://www.postgresql.org/docs/9.0/interactive/datatype-numeric.html
大きなテーブルにデフォルト値なしのカラムの追加通常素早い操作です。 8と9の列(または72と73の間で 'MAXALIGN = 8')のしきい値を超えると、速度が遅くなることがありますか? –
@ PatrickBrinich-Langlois:はい、それがメカニズムの可能性のある結果です。物理的な表のサイズも、これらの場合に予想される以上に増加します。死んだタプルのような他の要因が関与しているため、効果は必ずしも直線的ではありません。既存のNULLビットマップ(行ごとに)が別のNULLビットのための領域を持つ場合、テーブルはまったく成長しません。これは一般的なケースです。 –