CREATE INDEX 语句用来为 DB2 Everyplace 表创建索引。
调用
此语句可以在使用 DB2 CLI 函数的应用程序中使用,也可以通过 CLP 发出。
语法
>>-CREATE--INDEX--index-name--ON--table-name--------------------> .-,-----------------------------------------. V .-ASC--. | >--(----+-column-name-----------------+--+------+-+--)--------->< +-UCASE--(--| expression |--)-+ '-DESC-' '-LCASE--(--| expression |--)-'
描述
每个列名都必须是标识一个表列的未限定名。使用 8 列或更少的列;不能重复列名(SQLSTATE 42711)。
每个指定列的长度一定不能超过 1024 字节。
LCASE 或 LOWER 函数返回一个字符串,其中所有 SBCS 字符都已转换为小写字符。即,字符 A 至 Z 将转换为字符 a 至 z,而带有区分标记的字符将转换为其小写等效项(如果它们存在的话)。
自变量必须是其值为 CHAR 或 VARCHAR 数据类型的表达式。
该函数的结果的数据类型和长度属性与自变量的数据类型和长度属性相同。如果自变量可以为空,则结果可以为空;如果自变量为空,则结果为空值。
确保 EMPLOYEE 表中的列 JOB 的值中的字符将以小写字符的形式返回。例如:
SELECT LCASE(JOB) FROM EMPLOYEE WHERE EMPNO = '000020';
规则
CREATE INDEX IDX1 ON EMPLOYEE (JOB ASC) CREATE INDEX IDX1 ON EMPLOYEE (JOB DESC)通常,应在不指定排序方向的情况下创建索引。通常,索引越少,索引维护的成本也就越低。
CREATE INDEX J1 ON T (A, B, C, D, E, F, G, K)不需要为 T (A,B,C,D) 创建另一索引。
CREATE INDEX <index name> ON <table name> ($dirty)
有关脏位的更多信息,请参阅 ***。
示例
为 EMPLOYEE 表创建名为 JOB_BY_DPT 的索引。按每个部门(WORKDEPT)中的职位(JOB)以升序顺序排列索引条目。
CREATE INDEX JOB_BY_DPT ON EMPLOYEE (WORKDEPT, JOB)
相关参考