oracle

索引

索引是与表相关的一个可选结构

用以提高 SQL 语句执行的性能
减少磁盘I/O
使用 CREATE INDEX 语句创建索引
在逻辑上和物理上都独立于表的数据

Oracle 自动维护索引。


创建标准索引  

SQL> CREATE INDEX item_index ON itemfile (itemcode)
     TABLESPACE index_tbs;

重建索引

SQL> ALTER INDEX item_index REBUILD; 

删除索引

SQL> DROP INDEX item_index; 


组合索引是在表的多个列上创建的索引
索引中列的顺序是任意的
如果 SQL 语句的 WHERE 子句中引用了组合索引的所有列或大多数列,则可以提高检索速度。


SQL> CREATE INDEX comp_index
     ON itemfile(p_category, itemrate);

Oracle中组合索引的使用详解

http://www.cnblogs.com/rootq/archive/2008/10/19/1314669.html   (执行计划、组合索引的讲解)

 1、 当使用基于规则的优化器(RBO)时,只有当组合索引的前导列出现在SQL语句的where子句中时,才会使用到该索引;



索引中的分区

可以将索引存储在不同的分区中
与分区有关的索引有三种类型:
局部分区索引 - 在分区表上创建的索引,在每个表分区上创建独立的索引,索引的分区范围与表一致
全局分区索引 - 在分区表或非分区表上创建的索引,索引单独指定分区的范围,与表的分区范围或是否分区无关
全局非分区索引 - 在分区表上创建的全局普通索引,索引没有被分区

 

 

like '%a%'任何情况下都不会走索引,因为索引只是排了个序,对于like '%a%'这种操作索引根本用不上,但对like 'a%'这种是有效的

两面%%的时候不会走索引,后面有的时候才会走索引。 看执行计划

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值