付録C.6 ルーチン定義情報用バッファ長(pd_routine_def_cache_size)の見積もり式
ルーチン定義情報用バッファ長は次に示す計算式から求めます。
使用頻度が高いルーチンの定義情報長の合計値 +使用するプラグインのプラグイン関数の定義情報長の合計値 +使用頻度が高いシステム定義スカラ関数の定義情報長の合計値
(1) 1ルーチン当たりのルーチン定義情報長の求め方
1ルーチン当たりのルーチン定義情報長は,次に示す概算式で求めてください。
- 〈計算式〉
-
↑(1.3+0.2×a)↑×b (単位:キロバイト)
a:使用頻度が高いルーチンの総パラメタ数
b:使用頻度が高いルーチンの定義数
(2) プラグイン関数の定義情報長の求め方
プラグイン関数の定義情報長は,次に示す概算式で求めてください。
- 〈計算式〉
-
0.6+c+0.2×d (単位:キロバイト)
c:一つのプラグインがDMLで利用するプラグイン関数の合計数※
d:一つのプラグインがDMLで利用するプラグイン関数のパラメタの合計数※
- 注
-
上記の計算式は1プラグイン当たりの計算式です。複数のプラグインをインストールしている場合は,インストールしたプラグインの数だけ計算して加算してください。
- 注※
-
DMLで利用するプラグイン関数,及びDMLで利用するプラグイン関数のパラメタの合計数は次に示すSQLで求めます。
SELECT COUNT(*),SUM(N_PARAM) FROM MASTER.SQL_PLUGIN_ROUTINES WHERE PLUGIN_NAME = 'プラグイン名称' AND (TIMING_DESCRIPTOR = 'ADT_FUNCTION' OR TIMING_DESCRIPTOR IS NULL OR TIMING_DESCRIPTOR = 'BEFORE_INSERT' OR TIMING_DESCRIPTOR = 'AFTER_INSERT' OR TIMING_DESCRIPTOR = 'BEFORE_UPDATE' OR TIMING_DESCRIPTOR = 'AFTER_UPDATE' OR TIMING_DESCRIPTOR = 'BEFORE_DELETE' OR TIMING_DESCRIPTOR = 'AFTER_DELETE' OR TIMING_DESCRIPTOR = 'BEFORE_PURGE_TABLE' OR TIMING_DESCRIPTOR = 'AFTER_PURGE_TABLE' OR TIMING_DESCRIPTOR = 'INDEX_SEARCH' OR TIMING_DESCRIPTOR = 'INDEX_COUNT' OR TIMING_DESCRIPTOR = 'INDEX_INSERT' OR TIMING_DESCRIPTOR = 'INDEX_BEFORE_UPDATE' OR TIMING_DESCRIPTOR = 'INDEX_AFTER_UPDATE' OR TIMING_DESCRIPTOR = 'INDEX_DELETE' OR TIMING_DESCRIPTOR = 'PURGE_INDEX' OR TIMING_DESCRIPTOR = 'INDEX_MAINTENANCE_DEFERRED' OR TIMING_DESCRIPTOR = 'BEFORE_INSERT_DC' OR TIMING_DESCRIPTOR = 'BEFORE_UPDATE_DC' OR TIMING_DESCRIPTOR = 'BEFORE_DATA_CHECK' OR TIMING_DESCRIPTOR = 'AFTER_DATA_CHECK')
(3) 一つ当たりのシステム定義スカラ関数の定義情報長の求め方
一つ当たりのシステム定義スカラ関数の定義情報長を次の表に示します。
関数名 |
定義情報長 (単位:キロバイト) |
---|---|
ACOS,ADD_INTERVAL,ASCII,ASIN,ATAN,ATAN2,CENTURY,COS,COSH,CHR,DATE_TIME,DAYNAME,DAYOFWEEK,DAYOFYEAR,DEGREES,EXP,INTERVAL_DATETIMES,LAST_DAY,LN,LOG10,MIDNIGHTSECONDS,MONTHNAME,MONTHS_BETWEEN,NEXT_DAY,PI,RADIANS,SIN,SINH,SQRT,TAN,TANH,WEEK,WEEKOFMONTH,YEARS_BETWEEN |
2 |
POWER,IS_DBLBYTES,IS_SNGLBYTES,ISDIGITS,ROUNDMONTH,TRANSL_LONG |
4 |
CEIL,FLOOR,HALF,INSERTSTR,INSERTSTR_LONG,LEFTSTR,LTRIMSTR,NUMEDIT,QUARTER,REPLACE_LONG,REVERSESTR,RIGHTSTR,RTRIMSTR,SIGN,STRTONUM,TRUNCYEAR |
6 |
LTRIM,REPLACE,RTRIM,TRANSL,TRUNC |
12 |
POSSTR,ROUND |
18 |
GREATEST,LEAST |
32 |