ADMIN_EST_INLINE_LENGTH 関数 - データのインライン化に必要な長さを見積もる

ADMIN_EST_INLINE_LENGTH 関数は、XML 列、BLOB 列、CLOB 列、または DBCLOB 列に保管されているデータをインライン化するために必要なインライン長の見積もりを戻します。

データをインライン化できない場合、関数は負の値を戻します。

データがすでにインライン化されている場合、関数はインライン化データの実際の長さを戻します。

構文

構文図を読む構文図をスキップするADMIN_EST_INLINE_LENGTH(column-name )

スキーマは SYSIBM です。

戻り値

この関数は、データの見積インライン長 (バイト) を表す INTEGER 値か、あるいは以下のいずれかの値を戻します。

NULL
入力は NULL です。
-1
列値のインライン化を可能にする有効なインライン長がないため、データをインライン化できません。
-2
旧製品リリースを使用して文書が挿入されて保管されたため、文書の見積インライン長を判別できません。

関数のパラメーター

column-name
データ・タイプ XML、BLOB、CLOB、または DBCLOB を持つ基本表の列を識別します (SQLSTATE 42884)。この列は、式に基づいて生成されていない基本表の列を直接的または間接的に参照する必要があります (SQLSTATE 42815)。

例 1: 以下の例は、TAB1 表の XML 列 xml_doc1 に含まれている 3 つの XML 文書の見積インライン長を戻します。

db2 => SELECT PK, ADMIN_IS_INLINED(xml_doc1) as IS_INLINED, 
              ADMIN_EST_INLINE_LENGTH(xml_doc1) as EST_INLINE_LENGTH
       from TAB1

この照会では、以下の出力が結果として戻ります。

PK          IS_INLINED EST_INLINE_LENGTH
----------- ---------- -----------------
          1          1               292
          2          0               450
          3          0               454

  3 record(s) selected.

この例では、ADMIN_IS_INLINED 関数は最初の文書がインライン化されていることを示しています。 このため、ADMIN_EST_INLINE_LENGTH 関数はインライン化 XML 文書の実際の長さを戻します。 2 番目の文書はインライン化されていないため、ADMIN_EST_INLINE_LENGTH 関数は、2 番目の XML 文書をインライン化するために必要な見積インライン長を戻します。

例 2: 以下の例は、TAB1 表の XML 列 xml_doc1 に含まれている 1 つの XML 文書の見積インライン長を戻します。 この例には、述部が含まれます。

db2 => SELECT PK, ADMIN_IS_INLINED(xml_doc1) as IS_INLINED,
              ADMIN_EST_INLINE_LENGTH(xml_doc1) as EST_INLINE_LENGTH
       from TAB1 where PK=2

この照会では、以下の出力が結果として戻ります。

PK          IS_INLINED EST_INLINE_LENGTH
----------- ---------- -----------------
          2          0               450

  1 record(s) selected.

例 3: 以下の例は、TAB1 表の CLOB 列 clob_1 に含まれている 3 つの CLOB データの見積インライン長を戻します。

db2 => SELECT PK, ADMIN_IS_INLINED(clob_1) as IS_INLINED,
              ADMIN_EST_INLINE_LENGTH(clob_1) as EST_INLINE_LENGTH
       from TAB1

この照会では、以下の出力が結果として戻ります。

PK          IS_INLINED EST_INLINE_LENGTH
----------- ---------- -----------------
          1          1                68
          2          0              3665
          3          0                -1

   3 record(s) selected.

使用上の注意

  • 列のインライン長を増やすことを計画している場合、この長さは減らすことができないことに注意してください。
  • インライン長を増やすと、行サイズの合計も増加し、バッファー・プールのパフォーマンスにも影響を与える場合があります。 行サイズの合計には、以下の制限があります。
    表 1. 行サイズの制限
    ページ・サイズ 行サイズの制限 インライン長の制限
    4K 4005 4001
    8K 8101 8097
    16K 16 293 16 289
    32K 32 677 32 673
  • XML ストレージ・オブジェクトのページ・サイズが基本表のページ・サイズと同じでない場合は、見積インライン長は正確でない可能性があります。