Hitachi

ノンストップデータベース HiRDB Version 9 システム定義(Windows(R)用)


付録C.3 ビュー解析情報用バッファ長(pd_view_def_cache_size)の見積もり式

〈この項の構成〉

(1) 一つのビュー表当たりのビュー解析情報用バッファ長の計算式

一つのビュー表当たりのビュー解析情報用バッファ長は,次に示す計算式から求めます。計算式で使用する変数については,(2)及び(3)を参照してください。

〈32ビットモードのHiRDBの計算式〉

1ビュー表当たりのビュー解析情報用バッファ長(単位:キロバイト)=
  ↑1ビュー表当たりのビュー解析情報長÷1024↑
   
1ビュー表当たりのビュー解析情報長(単位:バイト)=
  ↑(1024+LCNST+15)÷16↑×16
  +↑(LPTREE+15)÷16↑×16
  +↑(28×NINCC+15)÷16↑×16
  +↑(28×NINCP+15)÷16↑×16
  +↑(24+512×NTBL+40×(NTBL+NDTBL)
  +128×NCLM+15)÷16↑×16
  +↑(16×MAX(↑NADTL÷50↑,1)
  +200×NADTL)÷16↑×16
  +↑(16×MAX(↑NATTL÷50↑,1)
  +144×NATTL)÷16↑×16
  +16+16×(3+NINCC+NINCP)

〈64ビットモードのHiRDBの計算式〉

1ビュー表当たりのビュー解析情報用バッファ長(単位:キロバイト)=
  ↑1ビュー表当たりのビュー解析情報長÷1024↑
   
1ビュー表当たりのビュー解析情報長(単位:バイト)=
  ↑(1600+LCNST+15)÷16↑×16
  +↑(LPTREE+15)÷16↑×16
  +↑(40×NINCC+15)÷16↑×16
  +↑(40×NINCP+15)÷16↑×16
  +↑(32+768×NTBL+48×(NTBL+NDTBL)
  +184×NCLM+15)÷16↑×16
  +↑(20×MAX(↑NADTL÷50↑,1)
  +224×NADTL)÷16↑×16
  +↑(20×MAX(↑NATTL÷50↑,1)
  +160×NATTL)÷16↑×16
  +16+24×(3+NINCC+NINCP)
注意事項

ビュー定義に,内部導出表を生成するビュー表を含む場合,そのビュー表のビュー解析情報用バッファ長の計算式も加算してください。

内部導出表を生成しないビュー表の場合は,そのビュー表を介さずに直接指定したSQL文で計算した値を加算してください。

(2) LPTREEの計算式

LPTREEは,次に示す計算式から求めます。計算式で使用する変数については,(3)を参照してください。

〈32ビットモードのHiRDBの計算式〉

LPTREE(単位:バイト)=
  276×NQRY
  +12×(2×NQRY+NSBQ+NSTOP)
  +12×(2×NQRY+NSLST+NSLAS)
  +12×(4×NTBL+4×NJTBL+5×NDTBL+NDCLM)
  +12×(NWHRC+NGPHV)
  +12×(NVLCM+NEXCM+NNLCM
  +3×NRANG+3×NLKCM+3×NSMCM+NETCM)
  +12×NRVCL
  +12×NTVCL
  +12×NLGEX
  +12×(NCNST+NSREG+NPRCS)
  +12×4×NCSCV
  +12×(NARTH+NCNCT)
  +12×NSFNC
  +12×NLBLD
  +12×(3×NCLM)
  +12×(NCASE+NWHEN)
  +12×2×(NSCLF+2×NCSSP)
  +12×(2×NPOS+3×NDTV)
  +12×(NEXTR+2×NSBST+3×NVALU+NBTEX+NCAST)
  +12×(4×NFCSP+NFPRM)
  +12×(3×NATTL+NATNM)
  +28×NOPTL+20×NOPTJ+32×NOPTT+20×NOPTIX
  +8×NSLAS
  +120×NJTBL
  +480×NCSET
  +84×NSPDT
  +72×(NSCLF+NCASE+NCSSP×2)
  +(144+20+32)×NFCSP+(300+136)×NRTNL
  +260×(NEXRTN+NCLASS+NJAR)+32×NPVOW
  +140×NPLGL+172×NPPRL
  +(260+257+257)×NPLGL
  +32×NCUD
  +512×NDTBL
  +40×NDTBL
  +128×NDCLM
  +182
  +376
  +1384
  +356×NVCLM
  +24×NVCSC

〈64ビットモードのHiRDBの計算式〉

LPTREE(単位:バイト)=
  496×NQRY
  +24×(2×NQRY+NSBQ+NSTOP)
  +24×(2×NQRY+NSLST+NSLAS)
  +24×(4×NTBL+4×NJTBL+5×NDTBL+NDCLM)
  +24×(NWHRC+NGPHV)
  +24×(NVLCM+NEXCM+NNLCM
  +3×NRANG+3×NLKCM+3×NSMCM+NETCM)
  +24×NRVCL
  +24×NTVCL
  +24×NLGEX
  +24×(NCNST+NSREG+NPRCS)
  +24×4×NCSCV
  +24×(NARTH+NCNCT)
  +24×NSFNC
  +24×NLBLD
  +24×(3×NCLM)
  +24×(NCASE+NWHEN)
  +24×2×(NSCLF+2×NCSSP)
  +24×(2×NPOS+3×NDTV)
  +24×(NEXTR+2×NSBST+3×NVALU+NBTEX+NCAST)
  +24×(4×NFCSP+NFPRM)
  +24×(3×NATTL+NATNM)
  +56×NOPTL+40×NOPTJ+64×NOPTT+40×NOPTIX
  +16×NSLAS
  +208×NJTBL
  +480×NCSET
  +96×NSPDT
  +96×(NSCLF+NCASE+NCSSP×2)
  +(176+24+40)×NFCSP+(328+144)×NRTNL
  +260×(NEXRTN+NCLASS+NJAR)+32×NPVOW
  +168×NPLGL+184×NPPRL
  +(260+264+257)×NPLGL
  +40×NCUD
  +768×NDTBL
  +48×NDTBL
  +184×NDCLM
  +226
  +568
  +1496
  +480×NVCLM
  +32×NVCSC

(3) 計算式で使用する変数

変数名

説明

LCNST

次に示す式の演算結果の定数の合計長※1,※2,※3

  • ビュー定義中にある定数の合計長+ビュー定義中にある文字集合変換

  • 対象となる定数の変換後の合計長+ビュー定義中にある数値文字変換

  • 対象となる定数の変換後の合計長+ビュー定義中にあるスカラ演算

NINCC

  • LCNST>11516バイトの場合

    32ビットモード:↑(LCNST-11516)÷4020↑

    64ビットモード:↑(LCNST-11516)÷4024↑

  • LCNST≦11516バイトの場合

    0

NINCP

  • LTREE>11516バイトの場合

    32ビットモード:↑(LTREE−11516)÷4020↑

    64ビットモード:↑(LTREE−11516)÷4024↑

  • LCNST≦11516バイトの場合

    0

NQRY

ビュー定義中にある問合せ指定の数

NSBQ

ビュー定義中にある副問合せの数

NSTOP

ビュー定義中にある集合演算の数

NSLST

ビュー定義中にある全問合せ指定の選択項目数の合計※4

NWHRC

ビュー定義中にあるWHERE句の数

NGPHV

ビュー定義中にあるGROUP BY句の数+ビュー定義中にあるHAVING句の数

NVLCM

ビュー定義中にある比較述語の数+ビュー定義中にある限定述語の数

NEXCM

ビュー定義中にあるIN述語の数

NNLCM

ビュー定義中にあるNULL述語の数

NRANG

ビュー定義中にあるBETWEEN述語の数

NLKCM

ビュー定義中にあるLIKE述語とXLIKE述語の数

NSMCM

ビュー定義中にあるSIMILAR述語の数

NETCM

ビュー定義中にあるEXISTS述語の数

NRVCL

ビュー定義中にある行値構成子の要素の数

NTVCL

ビュー定義中にあるIN述語右側の行値構成子の要素の数

NLGEX

ビュー定義中にある論理演算子の数

NCNST

ビュー定義中にある定数の延べ数+ビュー定義中にあるパターン文字の延べ数

NSREG

ビュー定義中にあるUSER値関数,CURRENT DATE値関数,CURRENT TIME値関数,又はCURRENT TIMESTAMP値関数の総数

NPRCS

ビュー定義中にあるCURRENT TIMESTAMPの小数秒精度指定の数

NCSCV

ビュー定義中にある文字集合変換対象となる定数の数※2

NARTH

ビュー定義中にある四則演算,日付演算,及び時刻演算の総数

NCNCT

ビュー定義中にある連結演算の数

NLBLD

ビュー定義中にあるラベル付き間隔の数

NSFNC

ビュー定義中にある集合関数の数

NSCLF

ビュー定義中にあるシステム組込みスカラ関数の数

NFCSP

ビュー定義中にある関数呼出し,又はスカラ関数の数

NCLM

ビュー定義中にある列の延べ数

NCASE

ビュー定義中にあるCASE式の数+ビュー定義中にあるCASE略式NULLIFの数

NWHEN

ビュー定義中にあるCASE式のWHENの数+1

NCSSP

ビュー定義中にあるCAST指定の数

NPOS

ビュー定義中にあるシステム組込みスカラ関数POSITIONの数

NDTV

ビュー定義中にあるシステム組込みスカラ関数(DATE,TIME,TIMESTAMP,又はVARCHAR_FORMAT)の数

NEXTR

ビュー定義中にあるシステム組込みスカラ関数(YEAR,MONTH,DAY,HOUR,MINUTE,又はSECOND)の数

NSBST

ビュー定義中にあるシステム組込みスカラ関数SUBSTRの数

NVALU

ビュー定義中にあるシステム組込みスカラ関数VALUEの数+ビュー定義中にあるCASE略式COALESCEの数

NBTEX

ビュー定義中にあるシステム組込みスカラ関数BIT_AND_TESTの数

NCAST

ビュー定義中にあるシステム組込みスカラ関数(INTEGER,又はDECIMAL)の数

NOPTL

ビュー定義中にあるSQL最適化指定の数

NOPTJ

ビュー定義中にある結合方式のSQL最適化指定の数

NOPTT

ビュー定義中にある表のSQL最適化指定の数

NOPTIX

ビュー定義中にあるインデクスのSQL最適化指定の数

NSLAS

ビュー定義中にある選択式のAS句の数

NJTBL

ビュー定義中にある結合表の数

NCSET

HiRDBで指定できる文字集合の種別の数+1※5

NSPDT

ビュー定義中にある「ASデータ型」指定の数

NFPRM

ビュー定義中にある関数呼出しの引数とシステム定義スカラ関数の引数の総数

NRTNL

ビュー定義中にある関数呼出しの呼び出し候補となる関数と,システム定義スカラ関数の呼び出し候補となる関数の総数

NEXRTN

ビュー定義中にある呼び出し候補となる関数のうち外部ルーチンの総数

NCLASS

ビュー定義中にあるJAVA関数のクラスの総数

NJAR

ビュー定義中にあるJAVA関数のJAVAアーカイブの総数

NPVOW

ビュー定義中にあるパブリックビューの所有者名の総数

NDTBL

ビュー定義中にあるFROM句の導出表の数+ビュー定義中にある内部導出表を生成するビュー表の数

NTBL

  • ビュー定義中にある表の延べ数が15個以下で,かつビュー定義中にある相関名の数とNDTBLの合計が15個以下の場合

    15

  • ビュー定義中にある表の延べ数が16個以上か,又はビュー定義中にある相関名の数とNDTBLの合計が16個以上の場合

    Max(ビュー定義中にある表の延べ数,ビュー定義中にある相関名の数+NDTBLの値)

NDCLM

ビュー定義中にあるFROM句の導出表の合計列数+ビュー定義中にある内部導出表を生成するビュー表の合計列数

NVCLM

ビュー定義によって導出される列数

NVCSC

ビュー定義によって導出される列で,既定文字集合以外の文字集合を指定した列

NADTL

ビュー定義中にあるすべての抽象データ型の継承関係※6を含めた数

NATTL

ビュー定義中にあるコンポネント指定の数

NATNM

ビュー定義中にあるすべてのコンポネント指定の属性名数

NPLGL

ビュー定義中にあるプラグイン提供関数の数

NPPRL

ビュー定義中にあるプラグイン提供関数のパラメタ数

NCUD

ビュー定義中にある抽象データ型の列数

注※1

定数の種別によって次のように長さを計算します。

定数の種別

長さ(単位:バイト)

境界調整によって必要となる長さの最大値(単位:バイト)

整数定数

4

7

10進数定数

↑(10進数定数の精度+1)÷2↑

↑(10進数定数の精度+1)÷2↑+7

浮動小数点数定数

8

15

文字列定数

2+文字列定数の文字数

2+文字列定数の文字数+3

16進文字列定数

4+(16進文字列定数の文字列長)÷2

4+(16進文字列定数の文字列長)÷2+3

各国文字列定数

2+各国文字列定数の文字数×2

2+各国文字列定数の文字数×2+3

混在文字列定数

2+混在文字列定数の半角文字の数+混在文字列定数の全角文字の文字数×2

2+混在文字列定数の半角文字の数+混在文字列定数の全角文字の文字数×2+3

注※2

文字集合変換対象となる定数とは,次の定数です。

  • 比較対象が文字集合の項目である文字列定数

  • CAST指定で変換後のデータ型に文字集合指定をした文字列定数

注※3

数値文字変換対象となる定数とは,次の定数です。

  • 比較対象が数値属性の項目である文字列定数

  • 連結演算のオペランドに指定された数値定数

  • 四則演算のオペランドに指定された文字列定数

注※4

選択項目に*を指定した場合は,FROM句に指定したすべての表の列数の合計を加算します。また,選択式に表名.*を指定した場合は,その表の列数を加算します。

注※5

HiRDBで指定できる文字集合は,EBCDIKだけです。

注※6

プラグイン提供の抽象データ型の継承関係は,各プラグインのマニュアルを参照してください。