私たちのプロジェクトの 1 つで、マネージャーは、varchar(8)、varchar(16)、varchar(32)、varchar(64) などのように、varchar をバイト単位で使用することを主張しています。
実際のサイズがわからないかもしれませんが、サイズを推測できる場合、varchar(10)、varchar(11) などを使用するよりも、これはどういうわけか良いですか?
私たちのプロジェクトの 1 つで、マネージャーは、varchar(8)、varchar(16)、varchar(32)、varchar(64) などのように、varchar をバイト単位で使用することを主張しています。
実際のサイズがわからないかもしれませんが、サイズを推測できる場合、varchar(10)、varchar(11) などを使用するよりも、これはどういうわけか良いですか?
製品コードをテーブルに格納するとします。現在、お持ちのすべての製品コードは 5 文字以下ですが、これは将来変更される可能性があります。10を超えることはありませんが、誰が知っていますか?
varchar(10) として作成できますが、間違っている場合は、将来のある時点で変更する必要がある場合があります。varchar(20) として作成する場合、問題は存在しません。
では、varchar(10) ではなく varchar(20) として宣言してスペースを浪費していませんか? いいえ、SQL サーバーは列に含まれる文字数 (現時点では 5 文字) のみを使用するため、すべてのデータ型 varchar(n) は実際には「最大長 n 文字までの可変長テキスト」を意味します。
したがって、定義された長さが少なくとも予見できるほど必要である場合、定義されたサイズが正確に何であるかはあまり重要ではないと思います。