oracle索引总计

1.说明

  1)索引是数据库对象之壹,用于加速数据的查找,类似于书籍的目录。在数据库中索引能够减去数据库程序查询结果时索要读取的数据量,类似于在书籍中大家使用索引能够绝不翻阅整本书即可找到想要的消息。

wwwlehu6.vip乐虎官网,  二)索引是白手起家在表上的可选对象;索引的关键在于通过一组排序后的索引键来代替暗中同意的全表扫描检索情势,从而提高法索作用

  3)索引在逻辑上和物理上都与有关的表和数据非亲非故,当成立或许去除四个目录时,不会潜移默化基本的表;

  四)索引壹旦确立,在表上实行DML操作时(例如在履行插入、修改只怕去除相关操作时),oracle会自动管理目录,索引删除,不会对表发生潜移默化

  5)索引对用户是晶莹剔透的,无论表上是还是不是有目录,sql语句的用法不变

  陆)oracle创造主键时会自动在该列上创设索引

1.
 若未有索引,搜索有些记录时(例如查找name=’wish’)需求寻找全数的记录,因为不能担保唯有3个wish,必须全方位摸索二遍

2.
若在name上树立目录,oracle会对全表举行1回搜索,将每条记下的name值哪找升序排列,然后创设索引条目(name和rowid),存款和储蓄到索引段中,查询name为wish时即可直接搜索对应地点

三.创建了目录并不一定就会利用,oracle自动总计表的音讯后,决定是还是不是选用索引,表中多少很少时采纳全表扫描速度已经快速,未有须要运用索引

1.创制索引语法

CREATE [UNIQUE] | [BITMAP] INDEX index_name  --unique表示唯一索引
ON table_name([column1 [ASC|DESC],column2    --bitmap,创建位图索引
[ASC|DESC],…] | [express])
[TABLESPACE tablespace_name]
[PCTFREE n1]                                 --指定索引在数据块中空闲空间
[STORAGE (INITIAL n2)]
[NOLOGGING]                                  --表示创建和重建索引时允许对表做DML操作,默认情况下不应该使用
[NOLINE]
[NOSORT];                                    --表示创建索引时不进行排序,默认不适用,如果数据已经是按照该索引顺序排列的可以使用

二.修改索引

一)重命名索引

alter index index_sno rename to bitmap_index;

二)
合并索引(表使用1段时间后在目录中会产生碎片,此时索引功能会骤降,能够挑选重建索引也许统一索引,合并索引方式更加好些,无需额外部存款和储蓄器储空间,代价较低)

alter index index_sno coalesce;

三)重建索引

  格局1:删除原来的目录,重新树立目录

  方式二:

alter index index_sno rebuild;

3.剔除索引

drop index index_sno;

四.查看索引

select index_name,index-type, tablespace_name, uniqueness from all_indexes where table_name ='tablename';

 -- eg:    
create index index_sno on student('name');
select * from all_indexes where table_name='student';

 

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图