DB2逆引きリファレンス目次】 【DB2逆引きリファレンス目次#実装編】 【DB2逆引きリファレンス目次#索引

前提

解説

索引を作成するには、CREATE INDEXを用います。

CREATE [UNIQUE] INDEX 索引名 ON 表名 ( 列指定 )
  [CLUSTER]
  [PCTFREE フリースペース指定 ]
  [MINPCTUSED マージしきい値指定 ]
  [ALLOW REVERSE SCANS]

UNIQUE
: 索引キーに対して一意制約を与えます。同じ索引キーをもつ行を表に含めることができなくなります。

索引名
: 作成する索引の名前を指定します。

表名
: 索引を作成する表の名前を指定します。

列指定
: 索引キーを構成する列を以下の形式で定義します。複数の列を指定する場合はカンマで区切って並べます。 列名 [ASCまたはDESC] [, 列名 [ASCまたはDESC] , ....]

ASC
: 索引における索引キーの並びを決める際、この列の値を昇順で評価します。これがデフォルトです。

DESC
: 索引における索引キーの並びを決める際、この列の値を降順で評価します。

CLUSTER
: 作成する索引をクラスター索引として指定します。クラスター索引として指定できる索引は、表につきひとつだけです。

PCTFREE フリースペース指定
: 索引構築時、各リーフページに残すフリースペースのパーセンテージを指定します。

MINPCTUSED マージしきい値指定
: フリースペースの大きくなったリーフページをマージするためのしきい値をパーセンテージで指定します。 リーフページの使用率が、指定されたしきい値より下がるとマージが行われます。

ALLOW REVERSE SCANS
: 順方向の走査に加え、逆方向の走査もできるように索引を構成します。

使用例

表(ここではsmptab)のひとつの列(ここではname)を索引キーとして用いる索引(ここではsmpidx00)を作成する例。

$ CREATE INDEX smpidx00 ON smptab (name)↓

表(ここではsmptab)のふたつの列(ここではnameとtel)からなる複合索引キーを用いたユニーク索引(ここではsmpidx01)を作成する例。

$ CREATE UNIQUE INDEX smpidx01 ON smptab (name, tel DESC)↓

DESCを指定しているため、telについては降順で評価されます。

注意

参照