スケーラブルデータベースサーバ HiRDB Version 8 SQLリファレンス

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

CREATE FOREIGN INDEX外部インデクス定義

機能

外部表の列に外部インデクスを定義します。

外部インデクスは,外部表のアクセスに対する最適化のための情報として利用します。なお,外部インデクスを定義した場合,HiRDBには定義情報だけが作成され,実体は作成されません。また,外部サーバ側へのインデクスの定義はできません。

使用権限

外部表の所有者
自分が所有する外部表に対して,外部インデクスを定義できます。

形式

 
 CREATE 〔UNIQUE〕 FOREIGN INDEX
   〔認可識別子.〕インデクス識別子
   on 〔認可識別子.〕表識別子
   (列名〔{ASC|DESC}〕〔,列名〔{ASC|DESC}〕〕…)
   〔除外値指定〕
 
 除外値指定::=EXCEPT VALUES (NULL〔,NULL〕…)
 

オペランド

外部のDBのインデクスがUNIQUE指定のインデクスの場合に指定します。

認可識別子
作成した外部インデクスを所有するユーザの認可識別子を指定します。

インデクス識別子
定義する外部インデクスの名称を指定します。
一つの認可識別子に対して,同一名称の複数のインデクス及び外部インデクスは定義できません。

認可識別子
外部インデクスを定義する外部表のユーザの認可識別子を指定します。

表識別子
外部インデクスを定義する外部表の名称を指定します。

列名
外部インデクスを定義する列の名称を指定します。
列名は最大16個指定できます。列名を複数指定する場合,同じ名称は指定できません。

ASC
外部インデクスに対応する,外部のDBのインデクスが昇順の場合に指定します。

DESC
外部インデクスに対応する,外部のDBのインデクスが降順の場合に指定します。

外部インデクスに対応する,外部のDBのインデクスがナル値を含まない場合に指定します。

非ナル値制約の列を含む場合は,除外値指定は指定できません。

共通規則

  1. 外部インデクスは,外部表のアクセスに対する最適化のための情報として利用します。どのような場合に定義するかについては,マニュアル「HiRDB External Data Access Version 8」の外部表へのアクセスに関する性能設計を参照してください。
  2. 除外値指定は,繰り返して指定できません。
  3. 外部インデクスは,一つの外部表に最大255個定義できます。
  4. 外部インデクスは,BINARY型の列では定義できません。
  5. 同じ構成列の外部インデクスは一つだけ定義できます。単一列インデクスの場合,昇順の外部インデクスと降順の外部インデクスは同じものとみなされるため,別々に定義できません。複数列インデクスの場合,昇順,降順の指定がすべての構成列に対して逆のときは,同じとみなされます。

留意事項

  1. CREATE FOREIGN INDEXでは,外部サーバ側にインデクスは定義できません。
  2. CREATE FOREIGN INDEXは,OLTP下のX/Openに従ったUAPからは指定できません。