ラージ・オブジェクトのデータ・タイプは、サイズがゼロバイトから 2 ギガバイト -1 の範囲内のデータを保管します。
ラージ・オブジェクトの 3 つのデータ・タイプは、それぞれ次のように定義されます。
個別のデータベース・ロケーションは、すべてのラージ・オブジェクト値を表中のレコードの外側に保管します。表中の各行のラージ・オブジェクトには、それぞれラージ・オブジェクト記述子 が付いています。ラージ・オブジェクト記述子には、ディスク上の別の場所に保管されているラージ・オブジェクト・データにアクセスするのに使用される制御情報が含まれています。それは、2 GB までの LOB を保管できるレコードの外側にラージ・オブジェクト・データを保管することです。ラージ・オブジェクト記述子にアクセスすると、 LOB を操作する際にわずかなオーバーヘッドが生じます。 (保管およびパフォーマンス上の理由により、 LOB には小さいデータ項目を入れない方がよいでしょう。)
各ラージ・オブジェクト列の最大サイズは、 CREATE TABLE ステートメント中のラージ・オブジェクト・タイプの宣言の一部です。ラージ・オブジェクト列の最大サイズにより、その列中のすべての LOB 記述子の最大サイズが決まります。その結果、すべてのデータ・タイプのうち、単一行当りに適合できる列数も決まります。その行中で LOB 記述子により使用されるスペースは、対応するその最大サイズによって、およそ 60 〜 300 バイトの範囲にわたります。特定サイズの LOB 記述子については、 SQL 解説書 で CREATE TABLE ステートメントを参照してください。
CREATE TABLE 上の lob-options-clause を使用して LOB 列への変更を記録する (またはしない) ことを選択できます。またこの文節を使用して、 LOB 記述子を簡潔に表示する (またはしない) こともできます。これは、LOB を保管するのに十分なスペースだけを割り振ったり、将来の追加操作に向けて LOB に余分なスペースを割り振ることができるということを意味します。 tablespace-options-clause を使用すると、倍精度フィールドの列値や LOB データ・タイプを保管するための LONG 表スペースを識別できます。 CREATE TABLE および ALTER TABLE ステートメントの詳細については、 SQL 解説書 を参照してください。
LOB が非常に大きなサイズになる場合は、データベース内外への移動時にデータベース・システムのパフォーマンスが大幅に低下することがあります。 DB2 が 1 GB より大きい LOB 値のロギングを実行しなくても、データベースのログは数百メガバイトに近い LOB 値ですぐに限界に達するかもしれません。 SQLCODE -355 (SQLSTATE 42993) というエラーは、 1 GB より大きいサイズの LOB のログを行おうとした場合に起こります。 CREATE TABLE および ALTER TABLE ステートメントに lob-options-clause を使用すると、特定の LOB 列のロギングをオフにすることができます。オプションを NOT LOGGED に設定するとパフォーマンスを向上できますが、最新のバックアップ後の LOB 値の変更がロールフォワード回復中に失われます。このトピックの詳細については、 管理の手引き を参照してください。