インラインの長さが最大長に等しい場合、JSON型は非LOB型として扱われます。この場合、非LOBのJSON型は結合インデックスの一部になり得ます。ただし、結合インデックスのプライマリ インデックスの一部にはなりません。
例:
CREATE TABLE jsonTable (id INTEGER, /* nonLOB */ jsn1 JSON(1000) CHARACTER SET LATIN, /* LOB */ jsn2 JSON(1M) INLINE LENGTH 30000 CHARACTER SET LATIN);
次の文は、正常に結合インデックスを作成します。
CREATE JOIN INDEX jsonJI AS SELECT id, jsn1 FROM jsonTable;
次の文は、LOB型をインデックスの一部にすることができないので失敗します。
CREATE JOIN INDEX jsonJI AS SELECT id, jsn2 FROM jsonTable; *** Failure 5771 Index not supported by UDT 'TD_JSONLATIN_LOB'. Indexes are not supported for LOB UDTs.
またJSONインスタンスの抽出部分を含む結合インデックスを作成することもできます。このとき非LOBとLOBのJSON型を使用して作成できます。
次を使用してJSONデータの一部を抽出します。
- JSONエンティティの参照構文
- JSONExtractValueメソッドまたはJSONExtractLargeValueメソッド