Oracle索引总结


关于索引的使用总结:
DDL:CREATE TABLE wn_test (k001 VARCHAR2(4000 ),k002 VARCHAR2( 4000),k003 VARCHAR2(4000 ));
数据量: 1418210
1: WHERE k001 = 'xxx'
2: WHERE k002 = 'xxx'
1,2 :WHERE k001 = 'xxx' AND k002 = 'xxx'
...
TRUE:-- 可以使用索引
FALSE:-- 不可以使用索引

注意: a.WHERE 条件中字段的先后顺序不会影响 SQL的查询效率,1, 2 和 2, 1的执行效果是一样的。
b. 组合索引中的字段顺序会影响到 SQL是否会使用到索引,影响查询效率。
一.单字段索引的使用情况
a.k001
1 TRUE
2 FALSE
2,1 TRUE
b.k001 & k002 ( 两个字段分别建立单字段索引 index1,index2)
1 TRUE index1
2 TRUE index2
1,2 TRUE index1
2,1 TRUE index1
2,3 TRUE index2

总结: WHERE 条件中凡是使用建立过索引的字段,都能使用索引
二.组合索引的使用情况

a.组合为:k001,k002 时
1 TRUE
2 FALSE
1,2 TRUE
b.组合为:k002,k001 时
1 FALSE
2 TRUE
1,2 TRUE
c.组合为:k001,k002,k003 时
1 TRUE
2 FALSE
3 FALSE
1,2 TRUE
1,3 TRUE
2,3 FALSE
1,2 ,3 TRUE

总结:创建组合索引时字段的顺序很关键 ,凡是在 Where 条件中包含组合索引中第一个字段的查询,都能使用索引,反之则不能使用索引。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值