Collection Contents 上一页 下一页 PDF

ASA SQL 参考

SQL 语句

CREATE INDEX 语句


说明 

此语句用于创建指定表的索引。索引可以提高数据库的性能。

语法 

CREATE [ VIRTUAL ] [ UNIQUE ] [ CLUSTERED ] INDEX index-name
ON [ owner.]table-name
( column-name [ ASC | DESC ], ...
    | function-name ( argument [ ,... ] ) AS column-name )
[ { IN | ON } dbspace-name ]

参数 

VIRTUAL 关键字    VIRTUAL 关键字主要由索引顾问使用。在索引顾问对查询计划进行求值期间以及使用 PLAN 函数时,虚拟索引将模拟真实物理索引的属性。可以结合使用虚拟索引和 PLAN 函数以充分利用索引在性能方面的提高,从而避免创建真实索引这一通常又耗时又消耗资源的过程。

虚拟索引对其它连接是不可见的,并且在关闭连接时删除。在对查询的实际执行计划进行求值时不使用虚拟索引,所以不会对性能造成影响。

虚拟索引的列数限制为四列。

有关详细信息,请参见启动索引顾问索引顾问概述

CLUSTERED 关键字    CLUSTERED 属性使表行按照与索引对应的大概键顺序来存储。当服务器尝试保留键顺序时,不保证实施总体群集。

如果存在聚簇索引,LOAD TABLE 语句便按照索引键的顺序在表中插入行,而 INSERT 语句将按照键顺序的定义尝试将新行添加到包含相邻行的表页上。

有关详细信息,请参见使用聚簇索引

UNIQUE 关键字    UNIQUE 属性确保表中不会有两行的值在所有索引列中相同。每个索引键必须是唯一的,或者至少在一列中包含 NULL。

表的唯一约束和唯一索引是有区别的。唯一索引的列可以为 NULL,而唯一约束的列不能为 NULL。外键可以引用主键或者具有唯一约束的列,但不能引用具有唯一索引的列,因为唯一索引可以包括多个 NULL 实例。

ASC | DESC 选项    除非显式指定降序 (DESC),否则列以升序 (increasing) 排序。不管索引是升序排列还是降序排列,在执行升序或降序 ORDER BY 操作时都会使用索引。但是,如果通过混合的升序和降序属性来执行 ORDER BY,则仅当索引是用同样的升序和降序属性创建的时才使用索引。

function-name 参数    function-name 参数为内置函数创建索引。CREATE INDEX 语句的这种格式是执行以下操作的便捷方法:

  1. 向表中添加名为 column-name 的计算列。该列通过指定为内置函数的 COMPUTE 子句以及任何所指定的参数来定义。该列的数据类型依函数的返回类型而定。

  2. 填充表中现有行的计算列。

  3. 创建列的索引。

删除索引不会造成相关联的列被删除。CREATE INDEX 的这一格式不可用于所声明的临时表。

有关列计算列的详细信息,请参见使用计算列

IN | ON 子句    缺省情况下,索引放在它的表所在的同一个数据库文件中。通过指定用来存放索引的 dbspace 名称,可以将索引放在单独的数据库文件中。此特性主要用于帮助大型数据库克服文件大小限制。

有关限制的详细信息,请参见大小和数量限制

用法 

CREATE INDEX 语句在指定表的指定列上创建排序索引。索引自动用于改进向数据库发出的查询的性能,以及通过 ORDER BY 子句对查询排序。索引一旦创建,在 SQL 语句中就不会再引用它,除非要校验 (VALIDATE INDEX) 或删除 (DROP INDEX) 它。

不能创建视图索引。

权限 

必须是表的所有者,或者有 DBA 权限或 REFERENCES 权限。

副作用 

自动提交。为内置函数创建索引也会生成一个检查点。

更新列统计信息。

另请参见 
标准和兼容性 
示例 

为 employee 表创建一个有两列的索引。

CREATE INDEX employee_name_index
ON employee
( emp_lname, emp_fname )

为 sales_order_items 表的 prod_id 列创建索引。

CREATE INDEX item_prod
ON sales_order_items
( prod_id )

使用 SORTKEY 函数为 product 表的 description 列创建索引,排序顺序根据俄语归类而定。该语句有一个副作用,向表中添加一个计算列 desc_ru。

CREATE INDEX ix_desc_ru
ON product (
 SORTKEY( description, 'rusdict' )
 AS desc_ru )

Collection Contents 上一页 下一页 PDF