oracle中的索引

来源:互联网 发布:浙江省大数据交易中心 编辑:程序博客网 时间:2024/05/29 19:12
管理索引:
1)创建索引:


a)单列索引:是基于单个列所建立的索引,比如:
create index 索引名 on 表名(列名) 


如:create index nameindex on customer(name);


b)复合索引:是基于两列或是多列的索引,在同一张表上可以有多个
索引,但是要求列的组合必须不同,比如:
create index 索引名 on emp(ename,job);


create index 索引名 on emp(job,ename); (顺序不同,则索引不同)  




2)使用原则:



a)在大表上建立索引才有意义


b)在where子句或是链接条件上经常引用的列上建立索引


c)索引的层次不要超过4层




3)索引的缺点:


a)建立索引,系统要占用大约为表的1.2倍的硬盘和内存空间来保存索引


b)更新数据的时候,系统必须要有额外的时间来同时对索引进行更新,以
维持数据和索引的一致性


在这些情况下建立索引应该是不恰当的:


a).很少或从不引用的字段
b).逻辑性的字段,如男或女(是或否)等




补充一个知识点:



系统权限不级联,对象权限级联