sql >> データベース >  >> RDS >> Sqlserver

varchar(max)を使用してみませんか?

    これに対する私の答えは、最大の使用法ではなく、VARCHAR(max)とTEXTの理由に関するものです。

    私の本では;まず第一に、英語のテキスト以外は決してエンコードせず、人々が外国の場所の名前を参照しないことが絶対に確実でない限り、NVARCHARまたはNTEXTを使用する必要があります。

    第二に、それはフィールドがあなたにできることです。

    TEXTはVARCHARと比較して更新が難しいですが、フルテキストインデックスと多くの巧妙な機能を利用できます。

    一方、VARCHAR(MAX)にはあいまいさがあり、セルのサイズが8000文字未満の場合、行データとして扱われます。それより大きい場合は、ストレージの目的でLOBとして扱われます。RBARにクエリを実行しないとこれを知ることができないため、データとデータの読み取り回数を確認する必要がある場所の最適化戦略がある可能性があります。

    それ以外の場合、使用法が比較的平凡で、データのサイズに問題がないと予想される場合(つまり、.Netを使用しているため、文字列/文字*オブジェクトのサイズを気にする必要はありません)次に、VARCHAR(max)を使用しても問題ありません。



    1. トリガー:テーブルの値を別のテーブルの値で初期化するにはどうすればよいですか?

    2. MySqlは、URLを作成するためにプレオーダーツリーを変更しました

    3. 繰り返し可能な読み取り分離レベルSELECTvsUPDATE ... WHERE

    4. postgresでの動的テーブルパーティショニング