スケーラブルデータベースサーバ HiRDB Version 8 システム定義(Windows(R)用)

[目次][索引][前へ][次へ]

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

<この項の構成>
(1) 一つのビュー表当たりのビュー解析情報用バッファ長の計算式
(2) LPTREEの計算式
(3) 計算式で使用する変数

(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,又はVERCHAR_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
プラグイン提供の抽象データ型の継承関係は,各プラグインのマニュアルを参照してください。