ノンストップデータベース HiRDB Version 9 コマンドリファレンス(UNIX(R)用)
最適化情報パラメタファイルに記述する項目の一覧と最適化情報パラメタファイルに記述する項目の内容を次の表に示します。
表16-6 最適化情報パラメタファイルに記述する項目の一覧
| 分類 | 項目名 | 内容 |
|---|---|---|
| 表最適化情報 | NROWS | 表の行数 |
| NPAGES | 表のデータページ数 | |
| インデクス最適化情報 | INDEX | インデクス名 |
| NIPAGES | インデクスページ数 | |
| NLEVEL | インデクスの段数 | |
| SEQ_RATIO | インデクスのシーケンシャル度 | |
| NENTRY | インデクスのキー値数 | |
| 列最適化情報 | COLUMN | 列名 |
| NUNIQUE | 列のユニーク値数 | |
| NNULLS | 列のナル値数 | |
| N_MAX_DUP_KEY | 列の最大重複列値の数 | |
| N_MIN_DUP_KEY | 列の最小重複列値の数 | |
| MAX_VALUE | 列値の最大値 | |
| MIN_VALUE | 列値の最小値 | |
| 区間分布情報 | SECTION_COUNT | 区間分布情報の区間数 |
| SECTION_NO | 区間番号 | |
| SEC_TOTAL_COUNT | 区間要素数の累積度数 | |
| SEC_UNIQUE | 区間内ユニーク値数 | |
| SEC_MAX_VALUE | 区間内最大値 |
表16-7 最適化情報パラメタファイルに記述する項目の内容
| 項目名 | 内容 |
|---|---|
| NROWS | 表の行数を指定します。 表の行数は,次のSQL文で求められます。 SELECT COUNT(*) FROM 表名 |
| NPAGES | 表の使用中データページ数を指定します。 データベース状態解析ユティリティを実行するか,又はマニュアル「HiRDB Version 9 システム導入・設計ガイド」を参照してください。 |
| INDEX | インデクス名を指定します。 指定するインデクスは,-tオプションで指定した表に定義されている必要があります。 なお,指定できるインデクスはB-treeインデクスだけであり,プラグインインデクスは指定できません。 |
| NIPAGES | インデクスの使用中インデクスページ数を指定します。 データベース状態解析ユティリティを実行するか,又はマニュアル「HiRDB Version 9 システム導入・設計ガイド」を参照してください。 |
| NLEVEL | インデクスの段数を指定します。 マニュアル「HiRDB Version 9 システム導入・設計ガイド」を参照してください。また,クラスタキーの場合は,データベース状態解析ユティリティで求められます。 |
| SEQ_RATIO | インデクスのシーケンシャル度を指定します。 0〜100の値を指定します。インデクスのキー順にデータが格納されている場合は100,ランダムにデータが格納されている場合は0を指定してください。この値を大きくすると,よりインデクスを使用することになります。 |
| NENTRY | インデクスのキー値数を指定します。
<単一列インデクスの場合> SELECT COUNT(DISTINCT インデクス構成列名※1) FROM 表名<複数列インデクスの場合> WITH W1(WC1,WC2,…) AS (SELECT DISTINCT
インデクス構成列名1※1,インデクス構成列名2※1,…
FROM 表名) SELECT COUNT(*) FROM W1
|
| COLUMN | 列名を指定します。 指定する列は,-tオプションで指定した表になければなりません。ただし,LOB列,抽象データ型列は指定できません。 |
| NUNIQUE | 列のユニーク値数を指定します。 列のユニーク値数は,次のSQL文で求められます。 SELECT COUNT(DISTINCT 列名※2) FROM 表名 |
| NNULLS | 列のナル値数を指定します。 列のナル値数は,次のSQL文で求められます。
SELECT COUNT(*) FROM 表名 WHERE 列名 IS NULL
WITH W1(WSUBCLM) AS (SELECT SUBSTR(列名,1,255※4)) FROM 表名) SELECT COUNT(*) FROM W1 WHERE WSUBCLM IS NULL |
| N_MAX_DUP_KEY | 最も重複が多い列値の重複数を指定します。 最も重複が多い列値の重複数は,次のSQL文で求められます。
WITH W1(WCOUNT) AS (SELECT COUNT(列名) FROM 表名
WHERE 列名 IS NOT NULL GROUP BY 列名)
SELECT MAX(WCOUNT) FROM W1
SELECT COUNT(SUBSTR(列名,1,255※4)) FROM 表名
WHERE 列名 IS NOT NULL GROUP BY SUBSTR(列名,1,255※4)
ORDER BY 1 DESC LIMIT 1
WITH W1(WSUBCLM) AS (SELECT SUBSTR(列名,1,255※4)) FROM 表名)
SELECT COUNT(WSUBCLM) FROM W1 WHERE WSUBCLM IS NOT NULL
GROUP BY WSUBCLM ORDER BY 1 DESC LIMIT 1
|
| N_MIN_DUP_KEY | 最も重複が少ない列値の重複数を指定します。 最も重複が少ない列値の重複数は,次のSQL文で求められます。
WITH W1(WCOUNT) AS (SELECT COUNT(列名) FROM 表名
WHERE 列名 IS NOT NULL GROUP BY 列名)
SELECT MIN(WCOUNT) FROM W1
SELECT COUNT(SUBSTR(列名,1,255※4)) FROM 表名
WHERE 列名 IS NOT NULL GROUP BY SUBSTR(列名,1,255※4)
ORDER BY 1 ASC LIMIT 1
WITH W1(WSUBCLM) AS (SELECT SUBSTR(列名,1,255※4)) FROM 表名)
SELECT COUNT(WSUBCLM) FROM W1 WHERE WSUBCLM IS NOT NULL
GROUP BY WSUBCLM ORDER BY 1 ASC LIMIT 1
|
| MAX_VALUE※5 | 列値の最大値を指定します。 列値の最大値は,次のSQL文で求められます。 SELECT MAX(列名※6) FROM 表名 |
| MIN_VALUE※5 | 列値の最小値を指定します。 列値の最小値は,次のSQL文で求められます。 SELECT MIN(列名※6) FROM 表名 |
| SECTION_COUNT | 区間分布情報の区間数を指定します。 列値の種類数が100以下の場合は,列値の種類数を設定します。列値の種類数が100より多い場合は,100を設定します。 なお,この指定は区間分布情報の指定より前に記述しなければなりません。また,この指定値は,区間分布情報の指定数と同じ値にしてください。 |
| SECTION_NO | 該当する区間の区間番号を1〜区関数の範囲内で指定します。 |
| SEC_TOTAL_COUNT | 区間要素数の累積度数を指定します。 区間要素数の累積度数は,次の計算式で求められます。 (列値の種類数÷100)×該当する区間番号 なお,列値の種類数÷100が割り切れない場合は,最終区間の区間分布情報の定義時に,ヒストグラム累積度数に列値の種類数を設定します。 |
| SEC_UNIQUE | 該当する区間内の列値のユニーク値数を指定します。 |
| SEC_MAX_VALUE | 該当する区間内の列値の最大値を指定します。 |
「CASE LENGTH(列名) WHEN 0 THEN ‘’
WHEN 1 THEN SUBSTR(列名,1,1) WHEN 2 THEN SUBSTR(列名,1,2)
WHEN 3 THEN SUBSTR(列名,1,3) WHEN 4 THEN SUBSTR(列名,1,4)
WHEN 5 THEN SUBSTR(列名,1,5) WHEN 6 THEN SUBSTR(列名,1,6)
WHEN 7 THEN SUBSTR(列名,1,7) WHEN 8 THEN SUBSTR(列名,1,8)
WHEN 9 THEN SUBSTR(列名,1,9) WHEN 10 THEN SUBSTR(列名,1,10)
WHEN 11 THEN SUBSTR(列名,1,11) WHEN 12 THEN SUBSTR(列名,1,12)
WHEN 13 THEN SUBSTR(列名,1,13) ELSE SUBSTR(列名,1,14) END 」All Rights Reserved. Copyright (C) 2010, 2017, Hitachi, Ltd.