スケーラブルデータベースサーバ HiRDB Version 8 システム導入・設計ガイド(UNIX(R)用)
インデクスの格納ページ数の計算方法を(1)で説明します。(1)の計算式中で使用する変数については(2)で説明しています。インデクスの格納ページ数の計算例については(3)で説明しています。
なお,CREATE TABLEでクラスタキーを指定する場合,インデクスの格納ページ数を求める方法と同じ方法で,クラスタキーの格納ページ数を求めてください。
また,インデクスを横分割する場合,格納RDエリアごとにページ数を求めてください。
インデクスの格納ページ数は,次に示す計算式で求めます。
n インデクスの格納ページ数(単位:ページ)= Σ Pi+Pd i=1 |
Piは,計算式1に示す漸化式から求めます。
Pn=1となるまでPi+1の計算をし,その計算結果の総計を求めてください。
Pdは,キー値の重複が201以上の場合に計算します。Pdの求め方を計算式2に示します。
重複数=↓(↓a×0.95↓−82)÷4↓−1 |
分類 | データ型 | キー長(単位:バイト) | |||||
---|---|---|---|---|---|---|---|
キー長が255バイト以下 | キー長が256バイト以上 | ||||||
単一列 インデクス |
複数列インデクス | 単一列 インデクス |
複数列インデクス | ||||
固定長※1 | 可変長※2 | 固定長※1 | 可変長※2 | ||||
数値 データ |
INTEGER | 4 | 5 | 6 | − | 5 | 7 |
SMALLINT | 2 | 3 | 4 | − | 3 | 5 | |
LARGE DECIMAL (m,n)※3 |
↓m÷2↓ +1 |
↓m÷2↓+2 | ↓m÷2↓+3 | − | ↓m÷2↓+2 | ↓m÷2↓+4 | |
FLOAT又は DOUBLE PRECISION |
8 | × | × | − | × | × | |
SMALLFLT 又はREAL |
4 | × | × | − | × | × | |
文字 データ |
CHARACTER (n) |
n | n+1 | n+2 | n | n+1 | n+3 |
VARCHAR(n) | a+1 | − | a+2 | a+2 | − | a+3 | |
各国 文字 データ |
NCHAR(n) 又はNATIONAL CHARACTER (n) |
2×n | 2×n+1 | 2×n+2 | 2×n | 2×n+1 | 2×n+3 |
NVARCHAR (n) |
2×b+1 | − | 2×b+2 | 2×b+2 | − | 2×b+3 | |
混在 文字 データ |
MCHAR(n) | n | n+1 | n+2 | n | n+1 | n+3 |
MVARCHAR (n) |
a+1 | − | a+2 | a+2 | − | a+3 | |
日付 データ |
DATE | 4 | 5 | 6 | − | 5 | 7 |
時刻 データ |
TIME | 3 | 4 | 5 | − | 4 | 6 |
日間隔 データ |
INTERVAL YEAR TO DAY |
5 | 6 | 7 | − | 6 | 8 |
時間隔 データ |
INTERVAL HOUR TO SECOND |
4 | 5 | 6 | − | 5 | 7 |
時刻印 データ |
TIMESTAMP(p) | 7+(p÷2) | 8+(p÷2) | 9+(p÷2) | − | 8+(p÷2) | 10+(p÷2) |
次に示す在庫表の「品番」をユニークインデクス(重複するキーがない)とする場合のインデクス格納ページ数を求めます。
品番 | 商品名 | 規格 | 単価 | 数量 | 原価 |
---|---|---|---|---|---|
20180 | 掃除機 | C20 | 20000 | 26 | 15000 |
20190 | 掃除機 | C77 | 28000 | 105 | 23000 |
20130 | 冷蔵庫 | P10 | 30000 | 70 | 25000 |
20220 | テレビ | K18 | 35000 | 12 | 30000 |
20200 | 掃除機 | C89 | 35000 | 30 | 30000 |
20140 | 冷蔵庫 | P23 | 35000 | 60 | 30000 |
20280 | アンプ | L10 | 38000 | 200 | 33000 |
20150 | 冷蔵庫 | P32 | 48000 | 50 | 43000 |
20290 | アンプ | L50 | 49800 | 260 | 45000 |
20230 | テレビ | K20 | 50000 | 15 | 45000 |
20160 | 冷蔵庫 | P35 | 55800 | 120 | 50000 |
例題1に示す在庫表の「商品名」をインデクス(重複するキーがある)とする場合のインデクス格納ページ数を求めます。
次に示す会員表の「性別」と「入会年度」を複数列インデクスとする場合のインデクス格納ページ数を求めます。
会員番号 | 氏名 | 年齢 | 性別 | 入会年度 |
---|---|---|---|---|
0001 | 安東洋子 | 18 | F | 1983 |
0002 | 浅井順一 | 25 | M | 1967 |
0003 | 石井公子 | 24 | F | 1987 |
0004 | 石井一郎 | 25 | M | 1964 |
・ ・ ・ |
・ ・ ・ |
・ ・ ・ |
・ ・ ・ |
・ ・ ・ |
1000 | 渡辺英雄 | 30 | M | 1995 |
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.