Symfoware(R) Server RDBユーザーズガイド データベース定義編 - FUJITSU - |
目次 索引 |
インデックスのDSO定義は、CREATE DSO文を使用して行います。インデックスは、ある列を用いた条件検索を行うとき、検索効率を向上させるために、探索条件で使用する列に対して定義します。
表定義にPRIMARY KEYまたはUNIQUEが指定されている場合、その列と同一構成(順序は同一)のインデックスのDSO定義が必要となります。表のデータ構造にRANDOMを指定した場合には、CLUSTER KEYにPRIMARY KEYまたはUNIQUE KEYのひとつを対応づけることができます。この場合には、インデックスのDSO定義は不要です。
また、すでにデータが格納されている表に対して、新たなインデックスのDSO定義を追加することが可能です。
以下にインデックスのDSO定義の例を示します。
例
インデックスのDSO定義インデックスを作成する表の名前(表名)とインデックスを構成する列(列名リスト)の指定が、キー指定になります。
表のデータ構造がSEQUENTIALの場合
CREATE DSO 製品名IXDSO INDEX ON STOCKS.在庫表 (製品名) ↑ ↑ ↑ DSO名 表名 列名リスト ↑ キー指定 TYPE BTREE(PAGESIZE1(16),PAGESIZE2(1)) ↑ データ構造 BY ADDRESS ↑ ベース表現
表のデータ構造がRANDOMの場合
CREATE DSO 製品名IXDSO INDEX ON STOCKS.在庫表 (製品名) ↑ ↑ ↑ DSO名 表名 列名リスト ↑ キー指定 TYPE BTREE(PAGESIZE1(16),PAGESIZE2(1)) ↑ データ構造 BY KEY ↑ ベース表現
表のデータ構造がOBJECTの場合
CREATE DSO 製品写真表IXDSO INDEX ON S1.製品写真表 (製品番号) ↑ ↑ ↑ DSO名 表名 列名リスト ↑ キー指定 TYPE BTREE(PAGESIZE1(16),PAGESIZE2(1)) ↑ データ構造 BY ADDRESS ↑ ベース表現
DSO名は、36文字以内の先頭が英字で始まる英数字、または18文字以内の日本語文字列を指定します。DSO名は、データベース内で一意です。
インデックスを作成する表名、およびインデックスを構成する列名リストを指定します。
格納形式定義の対象とする実表の名前を指定します。表名は、スキーマ名で修飾されている必要があります。
インデックスを作成する列名を指定します。インデックスの列名リストに指定可能な列のデータ型は表:インデックスの列名リストに指定可能な列のデータ型のとおりです。
属性 |
精度 |
位取り |
長さ |
備考 |
---|---|---|---|---|
SMALLINT |
− |
− |
− |
|
INTEGER |
− |
− |
− |
|
NUMERIC |
1〜18 |
0〜精度 |
− |
|
DECIMAL |
1〜18 |
0〜精度 |
− |
|
CHARACTER |
− |
− |
1〜1000 |
VARYINGも指定可 |
NATIONAL CHARACTER |
− |
− |
1〜500 |
VARYINGも指定可 |
DATE |
− |
− |
− |
|
TIME |
− |
− |
− |
|
TIMESTAMP |
− |
− |
− |
|
INTERVAL |
− |
− |
− |
|
インデックスのデータ格納時のデータ構造について指定します。BTREEが指定可能です。
PAGESIZE1は、データ部のページ長を指定します。
PAGESIZE2は、インデックス部のページ長を指定します。
詳細については、“BTREE構造”を参照してください。
インデックスとベースの対応関係のもち方を指定します。省略するとSEQUENTIALまたはOBJECTにはADDRESSが、RANDOMにはKEYが指定されたものとみなします。
目次 索引 |