常にvarchar(MAX)が望ましいのでしょうか?
質問
SQL Server について、私は理解しています。
-
var
は、メモリが遅延割り当てされていることを意味し、(挿入時に)データに正確に適合していることを意味します。 -
MAX
はサイズ制限がないことを意味します。
では、常に
MAX
を使うのが望ましいのでしょうか?
varchar
を使用する場合、全サイズを割り当てることはないのでしょうか?
この DB カラムに強制したい制約がある場合にのみ、一定のサイズを使用すべきでしょうか?
どのように解決するのですか?
このテーマについて、SOユーザーの@Remus Rusanuによる非常に良い記事があります。 以下はその抜粋ですが、全部読むことをお勧めします。
MAX型(varchar、nvarchar、およびvarbinary)を処理するコードパスは、MAX型とは異なります。 varbinary) を処理するコード パスは、それらと同等の最大長でない型を処理するコード パスとは異なります。 等価な非MAX長の型を扱うコードパスとは異なります。非MAX型は、内部的には 通常のポインタと長さの構造体として表現されます。しかし,max 型は,内部で連続したメモリ領域として格納することができません。 最大2Gbまで成長する可能性があるからです。そのため,COMのようなストリーミングインタフェースで表現する必要があります。 COM の IStream に似たストリーミングインタフェースで表現する必要があります。これは これは,単純な代入や比較を含む max 型を含むすべての操作に当てはまります. このことは,単純な代入や比較を含む max 型を含むすべての操作に当てはまります. というのも、これらの操作はストリーミング・インターフェースの上ではより複雑になるからです。最も大きな影響を与えるのは しかし、その影響はすべての操作に現れます。 影響はすべての操作で見ることができます。
記事の中で、彼は varchar(n) を使用すると一般的にパフォーマンスが向上することを実証するいくつかの例を示しています。
記事全体を見ることができます はこちら .
関連
-
解決策:ユーザー root で localhost:3306 にある MySQL に接続できませんでした。
-
[解決済み] MySQLの「スキーマの作成」と「データベースの作成」 - 違いはあるのか?
-
[解決済み] varcharとnvarcharの違いは何ですか?
-
[解決済み] SQL Serverにおけるchar、nchar、varchar、nvarcharの違いは何ですか?
-
[解決済み] SQL Server の VARCHAR/NVARCHAR 文字列に改行を挿入する方法
-
[解決済み] SQL Serverには、.NETのMath.Maxのような2つの値を取るMax関数はありますか?
-
[解決済み] Selectステートメントで特定のフィールドの重複を検索する
-
[解決済み] 常にnvarchar(MAX)を使用することにデメリットはありますか?
-
[解決済み】複数カラムのSQL MAX?
-
[解決済み】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 実装 サイバーパンク風ボタン
おすすめ
-
解決策:ユーザー root で localhost:3306 にある MySQL に接続できませんでした。
-
[解決済み] SQL Serverで実行中の合計を計算する
-
[解決済み] SQLテーブルで重複する値を検索する
-
[解決済み] MongoDBに "like "を使ってクエリを実行する方法
-
[解決済み] SQL Server の CASE ステートメントで OR がサポートされていない。
-
[解決済み] NOT IN vs NOT EXISTS
-
[解決済み] 文字列の一部をUPDATEおよびREPLACEする。
-
[解決済み] T-SQL文の接頭辞Nの意味と使うべきタイミングは?
-
[解決済み] SQL Serverで、ある日付より大きいすべての日付を照会するにはどうすればよいですか?
-
[解決済み】SQLでVARCHARよりCHARを選択するユースケースは何ですか?