数据库组合索引的选择原则是什么-创新互联

本篇内容主要讲解“数据库组合索引的选择原则是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“数据库组合索引的选择原则是什么”吧!

创新互联建站2013年开创至今,是专业互联网技术服务公司,拥有项目成都做网站、成都网站建设、成都外贸网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元铁山做网站,已为上家服务,为铁山各地企业和个人服务,联系电话:18982081108

表上的索引是根据什么建立的,特别是组合索引,有多个的时候优化器又怎么选择使用哪个呢,
今天做个试验验证下
新建这个表testindex
表结构
Name       Type          Nullable Default Comments
---------- ------------- -------- ------- --------
CREATETIME DATE          Y                        
LOC        VARCHAR2(100) Y                        
STATUS     VARCHAR2(20)  Y                        
COL1       VARCHAR2(10)  Y                        

testindex上只有两个索引
right1 loc,createtime,status
right2 createtime,loc,status

收集表统计信息
BEGIN
   DBMS_STATS.GATHER_TABLE_STATS(ownname => 'TEST',
                                 tabname => 'TESTINDEX',
                                 estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE,
                                 method_opt => 'for all columns size skewonly',
                                 cascade=>TRUE
                                 );
END;
收集统计信息可参考
http://blog.csdn.net/robinson1988/article/details/5329522

根据条件取值范围不同执行sql
Select *
From testindex
Where CREATETIME = :1
And  loc > :3
And  status =:4
走createtime,loc,status索引

Select *
From testindex
Where CREATETIME > :1
And  loc = :3
And  status =:4
走loc,createtime,status索引

说明选择组合索引时根据查询条件判断,取值越精准,范围越小的字段createtime/loc放前面的索引越优先被选择
这里收集统计信息还是很必要的,上面这个选择索引的规则和直方图,是否有其他索引关系应该不大

到此,相信大家对“数据库组合索引的选择原则是什么”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


网站名称:数据库组合索引的选择原则是什么-创新互联
URL网址:http://hbruida.cn/article/hcphe.html