3

私のWebアプリケーションでは、DBテーブル(Oracle)のCOLUMNにテキストメッセージを保存しています。以前のVARCHAR2の長さ(最大長)は(500バイト)です。クライアントから、最大長を4000文字に増やすように求められました。
DBテーブルの列に4000文字を保存することは可能ですか、それともBLOBとして保存する必要がありますか。
どちらがより良いパフォーマンスをもたらしますか?
誰かがこれを明確にできますか?

4

3 に答える 3

5

CLOBを確認しましたか。大きなテキストを保存する場合、OracleはCLOBを推奨します。

CLOB(Character Large Object)は、最大4GBのデータを保持できるOracleデータ型です。CLOBは、テキストを格納するのに便利です。

于 2012-09-24T10:12:03.340 に答える
5

Oracleには1列に4000バイトの制限があり、その制限VARCHAR2を回避する方法はありません。

したがって、シングルバイトVARCHAR2文字セットを使用している場合は、列に4000文字しか格納できません。

UTF8またはその他のマルチバイト文字セットを使用している場合は、4000文字を格納できない場合があります(一部の文字には複数のバイトが必要なため)。列をとして定義しても、その制限を超えることはありVARCHAR2(4000 Char)ません。

実際にマルチバイト文字セットを使用している場合は、CLOB列を使用する必要があります。そうしないと、4000文字を格納できません(gTitoによって提案されているように)。

1バイトの文字セットを使用している場合は、VARCHAR2(4000 Char)列を使用する必要があります。

于 2012-09-24T10:20:12.427 に答える
0

SQLクエリによってファイルされたものを検索する必要がある場合は、varchar2である必要があります。それ以外の場合は、clob/blobの方が適しています。

于 2012-09-24T10:16:14.830 に答える