天极传媒:
天极网
比特网
IT专家网
52PK游戏网
极客修
全国分站

北京上海广州深港南京福建沈阳成都杭州西安长春重庆大庆合肥惠州青岛郑州泰州厦门淄博天津无锡哈尔滨

产品
  • 网页
  • 产品
  • 图片
  • 报价
  • 下载
全高清投影机 净化器 4K电视曲面电视小家电滚筒洗衣机
您现在的位置: 天极网 > 开发>技术文档>DB2数据库中索引的语法介绍

DB2数据库中索引的语法介绍

天极网开发频道 2013-09-29 16:29 我要吐槽

  DB2索引的语法是学习DB2数据库的基础知识,下面就为您详细介绍DB2索引的语法,希望可以对您学习DB2索引的语法方面有所帮助。

  CREATE INDEX

  CREATE INDEX 语句用来为 DB2 Everyplace 表创建索引。

  调用

  此语句可以在使用 DB2 CLI 函数的应用程序中使用,也可以通过 CLP 发出。

  语法

  >>-CREATE--INDEX--index-name--ON--table-name-------------------->

  .-,-----------------------------------------.

  V .-ASC--. |

  >--(----+-column-name-----------------+--+------+-+--)---------><

  +-UCASE--(--| expression |--)-+ '-DESC-'

  '-LCASE--(--| expression |--)-'

  描述

  INDEX index-name

  命名索引。

  ON table-name

  table-name 命名要对其创建索引的表。

  column-name

  对于索引,列名标识要作为索引键一部分的列。

  每个列名都必须是标识一个表列的未限定名。使用 8 列或更少的列;不能重复列名(SQLSTATE 42711)。

  每个指定列的长度一定不能超过 1024 字节。

  ASC

  按列以升序顺序排列索引条目。这是缺省值。

  DESC

  按列以降序顺序排列索引条目。

  LCASE / UCASE

  LCASE 或 LOWER 函数返回一个字符串,其中所有 SBCS 字符都已转换为小写字符。即,字符 A 至 Z 将转换为字符 a 至 z,而带有区分标记的字符将转换为其小写等效项(如果它们存在的话)。

  自变量必须是其值为 CHAR 或 VARCHAR 数据类型的表达式。

  该函数的结果的数据类型和长度属性与自变量的数据类型和长度属性相同。如果自变量可以为空,则结果可以为空;如果自变量为空,则结果为空值。

  确保 EMPLOYEE 表中的列 JOB 的值中的字符将以小写字符的形式返回。例如:

  SELECT LCASE(JOB)

  FROM EMPLOYEE

  WHERE EMPNO = '000020';

  规则

  对于没有主键的表,最多可创建 15 个索引。对于有主键的表,最多可创建 14 个索引。

  如果尝试创建与现有索引匹配的索引,则 CREATE INDEX 语句将失败。在下列情况下,两个索引描述被认为是重复的:

  索引中的列集及其顺序与现有索引的列集和顺序相同。

  排序属性是相同的。

  不能在 CREATE INDEX 语句中使用具有 BLOB 数据类型的列。

  注意事项

  CREATE INDEX 语句可包含最多 8 列。

  DB2 Everyplace 支持索引的双向扫描。尽管下面两个索引的定义不同,但它们的作用是相同的。

  CREATE INDEX IDX1 ON EMPLOYEE (JOB ASC)

  CREATE INDEX IDX1 ON EMPLOYEE (JOB DESC)

  通常,应在不指定排序方向的情况下创建索引。通常,索引越少,索引维护的成本也就越低。

  DB2 Everyplace 支持索引的前缀扫描。考虑以下示例。创建了以下索引。

  CREATE INDEX J1 ON T (A, B, C, D, E, F, G, K)

  不需要为 T (A,B,C,D) 创建另一索引。

  如果该表未包含数据,则 CREATE INDEX 创建索引的描述;在对表插入数据时创建索引条目。

  要为脏位索引创建索引,请使用以下示例:

  CREATE INDEX

  ON   ($dirty)

  有关脏位的更多信息,请参阅 ***。

  示例

  为 EMPLOYEE 表创建名为 JOB_BY_DPT 的索引。按每个部门(WORKDEPT)中的职位(JOB)以升序顺序排列索引条目。

  CREATE INDEX JOB_BY_DPT

  ON EMPLOYEE (WORKDEPT, JOB)

  在建表的时候可以指定索引的表空间,比如: create table tabname(...) in tabspace index in tabindexspace

作者:中国IT实验室责任编辑:王健楠)
请关注天极网天极新媒体 最酷科技资讯
扫码赢大奖
评论
* 网友发言均非本站立场,本站不在评论栏推荐任何网店、经销商,谨防上当受骗!