使用 CREATE INDEX 语句的索引键规范定义索引的键值。它也可以指定升序或降序顺序和运算符类。
元素 | 描述 | 限制 | 语法 |
---|---|---|---|
column | 对此索引用作键的列 | 请参阅将列作为索引键的限制。 | 标识符 |
function | 对此索引用作键的用户定义函数 | 必须为不返回大对象数据类型的非变量函数。不能是内置代数、指数、日志或十六进制函数。 | 标识符 |
func_col | 值作为函数参数的列 | 不能是集合数据类型。请参阅使用函数的返回值作为索引键。 | 标识符 |
op_class | 与此索引键的列或函数相关联的运算符类 | 如果 USING 子句中的辅助存取方法没有缺省运算符类,则您必须在此指定一个。(请参阅 使用运算符类。) | 标识符 |
索引键值可为包含内置数据类型的一个或多个列。如果指定多个列,列集合中的值并置将被作为索引的单个组合列。
387 子字节的 LVARCHAR 大小限制是 dbspaces 的缺省页大小(2 千字节),但是大的页大小的 dbspace 不支持大索引键大小,如下表所示。
页大小 | 最大索引键大小 |
---|---|
2 千字节 | 387 字节 |
4 千字节 | 796 字节 |
8 千字节 | 1,615 字节 |
12 千字节 | 2,435 字节 |
16 千字节 | 3,245 字节 |
缺省情况下,索引按升序顺序排序,从最小值到最大值,根据区域设置的排列顺序,或者如果 SET COLLATION 语句指定了非缺省排列顺序,根据创建索引时生效的顺序。您可以使用 DESC 关键字颠倒此排列顺序,以致于索引按最大值到最小值排序。
如果您在索引键规范中显式地指定 ASC 关键字,则该索引按照升序顺序排序。
如果在 USING 子句中的辅助存取方法没有缺省的运算符类,则索引键规范可以为此索引指定运算符类。
如果在 USING 子句中的辅助存取方法有缺省的运算符类,则索引键规范可以为此索引指定覆盖此缺省运算符类的运算符类。