SQL Serverに深く入り込む定長char(n)と変長varrhar(n)の違いについて詳しく説明します。
char(n)は固定長フォーマットで、フォーマットがchar(n)のフィールドは固定的にn文字幅を占めています。実際に保存されているデータ長がnを超えると、多くの部分が切り取られます。長さがnより小さいなら、空文字で埋められます。
varrhar(n)は、長いフォーマットになります。このフォーマットのフィールドは、実際のデータの長さに応じて空間を割り当てます。スペースを無駄にしないですが、データを検索する速度が面倒になります。
一般に、フィールドが一つのテーブルにある限り、varrhar(n)タイプと定義され、残りはchar(n)で定義されるフィールドも実際にはvarhar(n)タイプである。
あなたの長さ自体が長くないなら、例えば3~10文字であれば、char(n)フォーマットを使うのが効率的で、検索速度が速いです。しかし、データが長い場合、ユーザーのプロフィールを登録するなどの比較的短いフィールドがある場合は、仕方がなく、無駄なスペースが気になります。
varrhar(n)は、長いフォーマットになります。このフォーマットのフィールドは、実際のデータの長さに応じて空間を割り当てます。スペースを無駄にしないですが、データを検索する速度が面倒になります。
一般に、フィールドが一つのテーブルにある限り、varrhar(n)タイプと定義され、残りはchar(n)で定義されるフィールドも実際にはvarhar(n)タイプである。
あなたの長さ自体が長くないなら、例えば3~10文字であれば、char(n)フォーマットを使うのが効率的で、検索速度が速いです。しかし、データが長い場合、ユーザーのプロフィールを登録するなどの比較的短いフィールドがある場合は、仕方がなく、無駄なスペースが気になります。