2

Oracleに保存するレポート(単純なテキスト)があります。平均的なケースは4K未満ですが、それを超える場合もあります。したがって、オプションはCLOBを使用することです。これはロギングのみを目的としており、クエリや更新では使用されません。一度だけ挿入し、数回リタイアします。

スペースと全体的なスキーマ(他のテーブル)のパフォーマンスが主な関心事です。

CLOBストレージ割り当てフォーマットについて読みました。

msgV varchar2(4000)とmsgCCLOBの2つの列を使用することを検討しています。テキストが4kを超えると、CLOBに格納されます。それ以外の場合、通常のvarchar2とCLOBはNULLのままになります。

だから私の質問は、

  1. このスキームは、上記のパフォーマンスの考慮事項よりも優れていますか、それとも単にCLOBを使用しますか?(それは別として、どこでもこの状態を維持するためのより多くのコーディング作業を必要とします)

  2. また、NULLおよび空のCLOB(または任意のデータ型)によって消費されるスペースはどれくらいですか?

4

1 に答える 1

1

クロブを使用します。clob 内のデータが 4000 バイト未満の場合、実際にはインラインで格納されます。LONG と比較した LOB については、以下のリンクのセクションを参照してください。

オラクルロブ

于 2012-05-13T16:20:06.970 に答える