« アタッチせずにデータにアクセス? | トップページ | WZ Editor5.0 »

2004.01.21

charとvarchar

charを使うのかvarcharを使うのか、というのが昨日議論になった。
DMBSの仕様にもよるのだろうが、頻繁にUPDATEする項目についてはcharで予め領域を確保しておかないと物理ディスク上分断が発生して、ディスクシークのオーバーヘッドが増えるはずであるから、charで設定するのが望ましい云々。
またホストと連携をとることを考えると固定長で扱うわけなのでcharの方が望ましい云々。

その一方で、該当システムが扱う業務トランザクションは殆どがINSERTであることを考えるとvarcharでディスク総使用量とロードしたときのメモリ使用量を削減した方がメリットが高いんではないか、という議論もあり。
世のDBスペシャリストの皆さんはどう考えて設定されているんだろうか(^^;?

|

« アタッチせずにデータにアクセス? | トップページ | WZ Editor5.0 »

コメント

全然スペシャリストでも何でもないし、あんまりご参考にならないかもしれませんが。(^_^ゞ

文字列型の列は、それほどしょっちゅう変更が発生するケースが少ないことが多くて、Varchar にすることがほとんどです。変更することが多い列は、たとえば「備考」を書いておくような、列の長さが非常に長くて、そもそも入力がされないことも多いので、Char 型にして常に長さを確保しておく方が余程ムダだったりします。

ホストが絡む際にはやはり、Char を多用しますね。送る際に、いちいちスペースやら 0 やらをくっつけるのがめんどくさいし。

投稿: Mika | 2004.01.21 22:17

キー項目でもvarcharですかねえ?
備考みたいなところで頻繁にUPDATEがないなら間違いなくvarcharだと思うんですけども、ユニーク性の確実さという意味ではキーはcharにしたくなっちゃいます(^^;
これってホストとの連携後遺症かしら(^^;

投稿: かっしい | 2004.01.22 19:28

うーん、キーだったらなおさら、そうしょっちゅうころころ変更しないし、ということで、varchar にするかもしれません。キーが文字列、というケースも、今まであんまりなかったので・・・。

正直、DB の設計はちゃちゃっとやる、という前提でスケジュールが組まれてしまっていたりするので、最近はあんまり深く考えたことがなかったり(考えていられない)します。時間くださいよ・・・・・・。

投稿: Mika | 2004.01.24 17:24

コメントを書く



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




トラックバック

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

この記事へのトラックバック一覧です: charとvarchar:

« アタッチせずにデータにアクセス? | トップページ | WZ Editor5.0 »