« SHIROBAKO 3巻届きました | トップページ | 拡張子を一括で変換 »

2015.02.26

PostgreSQLにおけるchar/varchar/text

「あとPostgreSQLではchar型を使うメリットはないからvarchar型にしとこうね(ref:フラグはbooleanで頼みます)」
ということを先日のエントリーで書いたところ、知人からほんとにそうなの? という問い合わせをいただいたのでちょこっとメモり。

かつては私も悩んだことがあったけど、現在はchar型で定義を切ることはまずないです。ホスト連携がなくなったことも大きいかな。

なお、PostgreSQLの仕様上詳しいことはLet's Postgresの記事([文字列型の使い分け])を読んでくださいw
当該記事は2009年のものなのでPostgreSQLがVer8.xの頃のものではあるが、現在でもここの実装は変わってないはずなので有効だ。

簡単に言うと、常にスペースで後方パディングされているchar型はディスクもメモリも無駄食いするし、様々な変換処理もコストがかかる、ということである。
確実に固定長が埋められているのであればこの部分は大きなデメリットにはならないが、varcharにしたとしてもデメリットがないので、charなのかvarcharなのかを悩むのがもったいない、という考え方もできるよね。

|

« SHIROBAKO 3巻届きました | トップページ | 拡張子を一括で変換 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/2022/61159604

この記事へのトラックバック一覧です: PostgreSQLにおけるchar/varchar/text:

« SHIROBAKO 3巻届きました | トップページ | 拡張子を一括で変換 »