質問

思を受け継ぐasp.net サイトのプロジェクトが現在、まさにSQLサーバーとして2000年にその英語版をご覧下さい

れをやってきたということもデータベースの変更、コピー、dbを使用SQL Server2005年。私の作成テーブルを使用 varchar(max) 列あります。使用され保存されたスニペットのXHTMLの任意の長さです。

しかし、周りにstackoverflowっこているが、これらの点を使用してnvarchar(MAX)?

ユーザー mattrumaていると言うことが"ハード"の使用に関 varchar(max) SQL Server2000年.

何をすべき使うのではなく varchar(max) このデータベースの運行にSQLサーバ2000?

よろしくお願又は助かります!

役に立ちましたか?

解決

そのような varchar(MAX) 上の制限が議論の余地がある問題が生DBは、SQLサーバーでは、2000年になっていくものと信じています。い8K文字を格納すいのだその他のオプション TEXT カラムです。しかし、注意する TEXT カラムの限界です。

例えばできないようグループも簡単なのですがそれらを比較するための外国人登録証明書"が"在留その他の列あります。ることはできない Select * from mytable where Mytext1 = mytext2.

その他の関連する問題に対応する

  • 思いを NText または NVarchar カラムにかかわらず、お支援にUnicodeで扱います。
  • の場合はテーブルの他の列の varchar(8000) カラムが頻繁に行われるようになり全く問題は、行の制限8K.このことも覚えておきましょう。

他のヒント

VARCHAR(Max)は、SQL Server 2005で導入された、そしてあなたはそれが十分な大きさになると仮定しVARCHAR(8000)のいずれかを使用する必要があるSQL Server 2000で動作しません。そうしないとあなたがTEXTを使用する必要があります。

編集

あなたが心に留めておくVARCHAR(8000)に切り替える場合は

また、単一の行はもっとして8060のバイトを持つことができない限界があります。あなたはvarchar(8000)テーブルを埋めるなどの大型の列の束を持っているのであればエラーが発生します。 Textの出番です。

デフォルトでは、それは別の場所に格納されているためTextパフォーマンスの意味を有し、それらはテーブル内のポインタを維持します。彼らは一定のサイズに達するまで、テキストタイプがテーブルに保存されているように、この動作を変更する設定オプションがあります。あなたは主に小さな塊を持っている場合は、これを有効にする場合があります。

TEXT列を使用します。

これは、あなたのニーズによって異なります。あなたが代わりにVARCHAR(MAX)のTEXT列を使用することができますが、あなたはTEXTとNTEXTフィールド上の比較のように行うことができないとして、あなたの実装は、そのフィールドに検索する必要がないことを確認する必要があります。

あなたは8000個の文字に自分自身を制限することができる場合、私は情報を格納するVARCHAR(8000)のカラムを使用することになります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top