免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6218 | 回复: 3
打印 上一主题 下一主题

db2索引问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-27 05:16 |只看该作者 |倒序浏览
db2创建索引如何指定表空间,不指定是否就是建在表所在的表空间

create index ind1_BAA36  on  root.BAA36(dev_num)

论坛徽章:
0
2 [报告]
发表于 2007-04-27 11:10 |只看该作者
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 <index name>
  ON <table name>
  ($dirty)

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

示例

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

CREATE INDEX JOB_BY_DPT
ON EMPLOYEE (WORKDEPT, JOB)

论坛徽章:
0
3 [报告]
发表于 2007-04-27 16:30 |只看该作者
在建表的时候可以指定索引的表空间,比如: create table tabname(...) in tabspace index in tabindexspace

论坛徽章:
0
4 [报告]
发表于 2007-04-27 23:28 |只看该作者
index需要单独的表空间和单独的bufferpool
最好
这是理想的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP