数据库组合索引的选择原则是什么

网友投稿 334 2023-12-01

数据库组合索引的选择原则是什么

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

数据库组合索引的选择原则是什么

表上的索引是根据什么建立的,特别是组合索引,有多个的时候优化器又怎么选择使用哪个呢,

今天做个试验验证下

新建这个表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-/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放前面的索引越优先被选择

这里收集统计信息还是很必要的,上面这个选择索引的规则和直方图,是否有其他索引关系应该不大

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

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SQL搜索前三名的方法是什么
下一篇:jdk8中常用数据结构及其设计原理是什么
相关文章

 发表评论

暂时没有评论,来抢沙发吧~