1. ホーム
  2. sql

[解決済み] varchar(500)はvarchar(8000)よりも優れているのでしょうか?

2023-02-07 05:20:03

質問

MSDNフォーラムやこちらで読みましたが、まだはっきりしません。私はこれが正しいと思います。Varchar(max) はテキスト データ型として保存されるため、欠点があります。つまり、あなたのフィールドは確実に8000文字未満になるとします。私のデータベース・テーブルのBusinessNameフィールドのように。現実には、ビジネスネームは常に500文字以下でしょう(数字を抜粋)。私が遭遇する多くの varchar フィールドは、8000 文字のカウントをはるかに下回るように思われます。

では、そのフィールドを varchar(8000) ではなく varchar(500) にするべきでしょうか?私が SQL について理解している限りでは、これらの 2 つの間に違いはありません。ですから、簡単にするために、すべての varchar フィールドを varchar(8000) として定義したいと思います。これは何か欠点があるのでしょうか?

関連する varcharカラムのサイズ (というのがあります(こちらは質問の答えになっていないような気がしました)。

どのように解決するのですか?

処理上の観点からは、varchar(8000) と varchar(500) の違いはありません。 フィールドが保持すべき最大長を定義し、varchar をその長さにすることは、むしろ "good practice" のようなものです。 これは、データの検証を支援するために使用することができます。 例えば、州の略称を2文字にしたり、郵便番号や郵便番号を5文字や9文字にしたりすることができます。 以前は、フィールドの長さが重要な他のシステムやユーザー インターフェイスとデータが相互作用する場合 (たとえば、メインフレームのフラット ファイル データセット) には、この区別がより重要でしたが、最近では、何よりも習慣になっていると思います。