可创建索引以更高效地运行查询、按列值的升序或降序顺序对表行排序或实施索引键的唯一性之类的约束。可以使用 CREATE INDEX 语句、DB2® 设计顾问程序或者 db2advis 设计顾问程序命令来创建索引。
关于此任务
本任务假定您正在对非分区表创建索引。
要从命令行中使用 CREATE INDEX 语句来创建索引,请输入:
CREATE UNIQUE INDEX EMP_IX
ON EMPLOYEE(EMPNO)
INCLUDE(FIRSTNAME, JOB)
INCLUDE 子句指定将附加列追加到一组索引键列,此子句仅适用于唯一索引。使用此子句所包含的任何列未用来强制唯一性。包含的这些列可能会通过仅访问索引而提高某些查询的性能。此选项可以:
如果对此索引所在的表发出了 SELECT EMPNO、FIRSTNAME 或 JOB FROM EMPLOYEE,那么可从该索引检索到所有必需的数据,而不需要读取数据页。这将提高性能。
注: 删除或更新行时,会将索引键标记为“已删除”,并且直到落实删除或更新操作后的某个时间执行清除时,才会以物理方式从页中将其删除。这些键被称为伪删除键。这种清除可由后续事务完成,该事务更改键在其中标记为已删除的页。可使用 REORG INDEXES 实用程序的 CLEANUP ONLY ALL 选项显式触发伪删除键的清除。
注: 在
Solaris 平台上,要创建使用 RAW 设备的索引,必须安装用于 Solaris 9 的补丁 122300-11
或者用于 Solaris 10 的补丁 125100-07。如果没有此补丁,并且使用了 RAW 设备,那么 CREATE INDEX 语句将被挂起。