CHAR と VARCHARは、どちらかというとCHARの方が優れているように言われているが、VARCHARの方がいろいろな面で使いやすいと個人的には思う。
http://www.sqlpassj.org/bbs/ml_disp.aspx?forum_id=4¤t_page=1&disp_mode=4&detail_mode=1&message_id=14849
■質問
CHAR と VARCHAR (NCHAR/NVARCHAR) はどのように
使い分けられていますでしょうか ?
* 基本的に CHAR を利用している
* 基本的に VARCHAR を利用している
* 必要な場合に CHAR を利用している
- 固定長
- 頻繁に更新がある
- インデックスに利用している
■背景
データベースを設計する場合、複雑性を下げる意味で、
データタイプを統一する場合があります。
CHAR, VARCHAR を使い分けるよりも、VARCHAR で
統一してしまうというものです。
また、可変長の文字列を CHAR で扱うと、あちこちで、
TRIM 処理が必要になります。
■例
1. VARCHAR に統一
サーバーに十分なパフォーマンスがあるので、
CHAR にするメリットがない。
2. CHAR に統一
パフォーマンスや設計の経験上、CHAR にしている。
TRIM による適宜、末尾の空白を除去している。