私の推奨事項:本当に必要な大きさにしてください。
など。郵便番号列の場合、10〜20文字で十分です。電話番号の場合は同意。電子メールは50-100文字以上の長さになる可能性があります。名前 - よく、私は通常、50文字で取得します。本当に必要な場合は、いつでも簡単にフィールドを拡張することができます。これは大きな仕事ではありません。
すべてのvarchar/nvarcharフィールドを可能な限り大きくすることは、実際には意味がありません。結局のところ、SQL Serverのページは固定されており、行あたり8060バイトに制限されています。 NVARCHAR(4000)の10個のフィールドを持つだけで問題が発生するのを尋ねています....(実際にあまりにも多くのデータを入力しようとすると、SQL Serverはあなたにバーフするでしょう)。
本当に大きなフィールドが必要な場合は、NVARCHAR/VARCHAR(MAX)を使用してください。ページに収まる限り、ページに格納され、余りに大きくなると「オーバーフロー」ストレージに送られます。
NVARCHARとVARCHAR:これは本当にあなたが本当に「エキゾチックな」文字(日本語、中国語、または他の非ASCIIスタイルの文字)を必要とするのではないかと思いますか?ヨーロッパでは、東ヨーロッパの文字でさえ、VARCHARフィールドではもはや表現できません(彼らはハシックを取り除かれますか?)?西ヨーロッパ言語(英語、ドイツ語、フランス語など)はすべて、 VARCHAR
しかし:。。?NVARCHARは2倍の領域を使用しない - それはです:-)しかし、本当にあなたを行う - ディスク上にして、SQL Serverのメモリに - すべての回であなたが本当にそれを必要とする場合は、あなたがそれを必要としますあなた次第。
マルクあなたは上の特定の制約を持っている必要があります列の場合
要件仕様に準拠する必要がありますか? ;-) –
私はあなたがスペックを作る人なら、それはあなたに下がると思う... – Paul