索引键规范

使用 CREATE INDEX 语句的索引键规范定义索引的键值。它也可以指定升序或降序顺序和运算符类。

这是索引键规范的语法:
索引键规范
元素 描述 限制 语法
column 对此索引用作键的列 请参阅将列作为索引键的限制 标识符
function 对此索引用作键的用户定义函数 必须为不返回大对象数据类型的非变量函数。不能是内置代数、指数、日志或十六进制函数。 标识符
func_col 值作为函数参数的列 不能是集合数据类型。请参阅使用函数的返回值作为索引键 标识符
op_class 与此索引键的函数相关联的运算符类 如果 USING 子句中的辅助存取方法没有缺省运算符类,则您必须在此指定一个。(请参阅 使用运算符类。) 标识符

索引键值可为包含内置数据类型的一个或多个列。如果指定多个列,列集合中的值并置将被作为索引的单个组合列。

索引键值也可以是下面几种列之一:

387 子字节的 LVARCHAR 大小限制是 dbspaces 的缺省页大小(2 千字节),但是大的页大小的 dbspace 不支持大索引键大小,如下表所示。

表 1. 给定的页大小的最大索引键大小
页大小 最大索引键大小
2 千字节 387 字节
4 千字节 796 字节
8 千字节 1,615 字节
12 千字节 2,435 字节
16 千字节 3,245 字节

指定排列顺序

缺省情况下,索引按升序顺序排序,从最小值到最大值,根据区域设置的排列顺序,或者如果 SET COLLATION 语句指定了非缺省排列顺序,根据创建索引时生效的顺序。您可以使用 DESC 关键字颠倒此排列顺序,以致于索引按最大值到最小值排序。

如果您在索引键规范中显式地指定 ASC 关键字,则该索引按照升序顺序排序。

指定运算符类

如果在 USING 子句中的辅助存取方法没有缺省的运算符类,则索引键规范可以为此索引指定运算符类。

如果在 USING 子句中的辅助存取方法有缺省的运算符类,则索引键规范可以为此索引指定覆盖此缺省运算符类的运算符类。