<td id="cl7yg"></td>

        <code id="cl7yg"></code>

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

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

          产品
          • 网页
          • 产品
          • 图片
          • 报价
          • 下载
          全高清投影机 净化器 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

            对于索引列名标识要作为索引键一部分的?#23567;?/P>

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

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

            ASC

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

            DESC

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

            LCASE / UCASE

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

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

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

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

            SELECT LCASE(JOB)

            FROM EMPLOYEE

            WHERE EMPNO = '000020';

            规则

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

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

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

            排序属性是相同的。

            不能在 CREATE INDEX 语句中使用具有 BLOB 数据类型的?#23567;?/P>

            注意事项

            CREATE INDEX 语句可包含最多 8 ?#23567;?/P>

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

            CREATE INDEX IDX1 ON EMPLOYEE (JOB ASC)

            CREATE INDEX IDX1 ON EMPLOYEE (JOB DESC)

            通常应在不指定排序方向的情况下创建索引。通常索引越少索引维护的成本也就?#38477;諭?/P>

            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实验室责任编辑?#21644;?#20581;楠
          请关注天极网天极新媒体 最酷科技资讯
          扫码赢大奖
          评论
          * 网友发言均非本站立场本站不在评论栏推荐任何网店、经销商谨防上当受骗
          办公软件IT新闻整机
          從匚扮扮科罷周

          <td id="cl7yg"></td>

              <code id="cl7yg"></code>

                <td id="cl7yg"></td>

                    <code id="cl7yg"></code>