Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1143552
  • 博文数量: 231
  • 博客积分: 2500
  • 博客等级: 少校
  • 技术积分: 2662
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-03 16:35
个人简介

学无止境

文章分类

全部博文(231)

文章存档

2014年(7)

2013年(103)

2011年(11)

2010年(53)

2009年(57)

分类: Oracle

2009-11-25 17:41:52

一个创建无分区索引的例子:
1.       CREATE INDEX
2.       "LDY"."INDEX_TEST"
3.       ON "LDY"."EMP" 
4.       ("DEPARTMENT_ID")
 
5.       TABLESPACE "INDX"
6.       PCTFREE 20
7.       INITRANS 4
8.       MAXTRANS 10
 
9.       STORAGE
10.    ( INITIAL 10K NEXT 10K
11.    MINEXTENTS 1 MAXEXTENTS 100
12.    PCTINCREASE 0
13.    FREELISTS 2 FREELIST GROUPS 3
14.    BUFFER_POOL RECYCLE)
 
15.    PARALLEL ( DEGREE 2)
16.    NOLOGGING
17.    COMPRESS
18.    REVERSE
解释:
1.       创建一个索引,UNIQUE表示是唯一索引,它要求索引中的数值是唯一的,BITMAP表示是位图索引。不加上这两个参数所创建的索引是默认的B*树索引。
2.       创建的索引属于的SCHEMA和索引的名称。
3.       ON之后表示该索引创建在哪个SCHEMA的哪个表上。也可以指定是哪个簇,ON之后要加上CLUSTER,然后跟上SCHEMA和簇名。
4.       索引所创建在的表上的列名。如果是组合索引,可以有多个列,在括号中用逗号隔开,最多可以有32列合并在一个索引中。
 
5.       创建索引使用的表空间,也就是该索引所在的表空间。
6.       PCTFREE表示在已存在的行中指出一个块需要保留多少空间用来更新。当一个块所使用的空间达到或超过PCTFREE值,则从空闲表中删除该块并不再使用这个块(默认值为10)。
7.       INITRANS定义在每个数据块中分配的并发事务项的初始数目。其最大值取决于块大小。如果有大量的并发操作,则可以改变这个值,而数据库也可以按照需要动态地添加事务项(默认值为2)。
8.       MAXTRANS指出允许更新给定数据块的并发事务的最大数目(默认值基于块大小的变量)。
 
9.       STORAGE子句为索引确定实际物理存储特性。
10.    INITIAL索引的第一个扩展区的大小。NEXT索引的下一个扩展区的大小。
11.    MINEXTENTS应该分配给索引的扩展区的最小数目。MAXEXTENTS应该分配给索引的扩展区的最大数目。
12.    PCTINCREASE在每个扩展区操作后,NEXT参数应该增加的百分比。
13.    FREELISTS定义分配给索引的空闲表的数目。FREELIST GROUPS定义分配给索引的空闲表组的数目。
备注:从9i开始使用了自动段管理,FREELISTS和FREELIST GROUPS参数的指定都被忽略。
14.    BUFFER_POOL定义在Oracle数据库中分配给对象的缓冲池(保留缓冲池KEEP,再循环缓冲池RECYCLE或者默认的缓冲池DEFAULT)。
15.    PARALLEL表示配置表的并行化,没有加次项则不并行。括号内的DEGREE表示并行值,也可以用默认DEFAULT。
16.    NOLOGGING表示无时间记录,不生成重做日志,更新较快,但不可恢复。LOGGING生成重做日志,更新较慢,但可恢复。一般情况下,不加此项。
17.    COMPRESS表示对索引进行键压缩,数据库消除了重复出现的键列值。不能压缩仅含有一列的位图索引、分区唯一性索引或者唯一性索引。
18.    REVERSE表示是反向键索引,允许创建以颠倒字节顺序存储的索引。也可以指定NOSORT表示未排序索引。不加以上两个就是按默认的,排序的索引。
阅读(747) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~