LOBとは、Large Objectの略であり、BLOBとCLOBを含みます。テキスト、画像、動画、空間データなどの大規模かつ非構造化データを格納するために使用されます。本記事では、OceanBaseデータベースの現行バージョンがサポートするロングオブジェクトデータ型の概要と使用制限について説明します。
ロングオブジェクトデータ型の概要
OceanBaseデータベースの現行バージョンがサポートするロングオブジェクトデータ型の情報は、以下の表に示されています。
| タイプ | 長さ | 定義された長さの上限 | 文字セット |
|---|---|---|---|
| BLOB | 可変長 | 536870910バイト | BINARY |
| CLOB | 可変長 | 536870910バイト | テナントの文字セットと一致 |
説明
OracleがLOB Locatorを介してデータを参照するのとは異なり、OceanBaseデータベースではLOB Locatorとデータが同一構造内に保存されます。
LOBのしきい値を大きいものから小さいものへ変更するには、Offline DDLをトリガーする必要があります。
LOB列の使用制限
LOB 列には、以下の使用制限があります:
LOBを主キー列として指定することはできません。以下のデータ構造は一時的なインスタンスとしてのみ使用され、データベーステーブルに格納することはできません:
任意の
LOBタイプのVARRAYLOBタイプを含む任意のVARRAY、例えばLOBプロパティを持つオブジェクト型。任意の
LOBタイプのANYDATALOBタイプを含む任意のANYDATA
クエリの
ORDER BY句、GROUP BY句、または集計関数でLOB列を指定することはできません。SELECT...DISTINCTまたはSELECT...UNIQUEステートメント、または結合でLOB列を指定することはできません。AFTER UPDATEDMLトリガーを作成する際、UPDATE OF句でLOB列を指定することはできません。LOB列をインデックスキーの一部として指定することはできません。