[解決済み] varchar(500)はvarchar(8000)よりも優れているのでしょうか?
質問
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文字にしたりすることができます。 以前は、フィールドの長さが重要な他のシステムやユーザー インターフェイスとデータが相互作用する場合 (たとえば、メインフレームのフラット ファイル データセット) には、この区別がより重要でしたが、最近では、何よりも習慣になっていると思います。
関連
-
解決策:ユーザー root で localhost:3306 にある MySQL に接続できませんでした。
-
[解決済み] varcharとnvarcharの違いは何ですか?
-
[解決済み] INNER JOINよりもCROSS APPLYを使用すべきなのはどのような場合ですか?
-
[解決済み] SQL Serverにおけるchar、nchar、varchar、nvarcharの違いは何ですか?
-
[解決済み] SQL Server の VARCHAR/NVARCHAR 文字列に改行を挿入する方法
-
[解決済み] SQL Serverには、.NETのMath.Maxのような2つの値を取るMax関数はありますか?
-
[解決済み] T-SQL文の接頭辞Nの意味と使うべきタイミングは?
-
[解決済み】SQLで "LIKE "と "IN "の組み合わせはあるのか?
-
[解決済み】DateTimeをVarCharに変換する方法
-
[解決済み】SQLでVARCHARよりCHARを選択するユースケースは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
解決策:java.sql.SQLException: ユーザー ''@'localhost'' (パスワード: YES を使用) のアクセスが拒否されました。
-
[解決済み] SQLの結合形式 - 入れ子になった内側join
-
[解決済み] SQL Serverで実行中の合計を計算する
-
[解決済み] ...値に挿入する ( SELECT ... FROM ... )
-
[解決済み] SQL Serverにおける関数とストアドプロシージャの比較
-
[解決済み] SQL Serverでレコードを削除した後、IDシードをリセットする。
-
[解決済み] postgres: ユーザーをスーパーユーザーにアップグレードしますか?
-
[解決済み] 既存のカラムにIDを追加する
-
[解決済み] SQLサーバーで行を列に効率的に変換する
-
[解決済み] 常にnvarchar(MAX)を使用することにデメリットはありますか?