什么是三星级索引三星级索引是一种能够 同时满足下面三个条件的查询性能较好的索引:第一颗星:拥有最窄索引片(窄索引,把等值谓词放在索引最前面)第二颗星:避免排序(出现在关键字“order by”后面的列才能满足第二颗星)第三颗星:查询语句中所有列都在索引中(宽索引,也是最容易达成的条件,因此优先级最低) 三星级索引设计思想先放例子: select stu_id,stu_name from students where score between 90 and 100 and class_no=302 order by stu_name;1. 先满足第三颗星,把谓词全部放到索引中(谓词在索引中的顺序先暂定)2. 有一个等值谓词“class_no=302”,因此把该谓词放到索引第一个来 尽可能满足第一颗星(现在还达不到第一颗星的效果,只是接近)。此时索引可以是idx1(class_no, stu_name, score,stu_id) 或 idx2(class_no, score, stu_name,stu_id)3. 为了满足第二颗星,必须把索引中的“stu_name”放在“score”前面(比如上面的索引idx1或者idx3(stu_name,xxx,xxx,xxx))。如果不这样做,就优化器必须先排序,因为索引是按谓词从左到右来自动排序的, 第二颗星就是利用索引自动排序的特性来减少二次排序。但是这样做的后果就是:不满足第一颗星了!因为在满足“class_no=302”条件后,没有先对“score”排序,索引不是最窄索引(第一颗星)。 注意实际情况中, 所有索引都能满足第三颗星,但是要同时满足第一和第二颗星的情况较少,因为绝大部分情况下谓词条件都很复杂,所以大多数情况下只能选择第一颗星或者第二颗星。比如上面的例子,出现了between谓词或者其他范围谓词,所以不能同时拥有第一颗和第二颗星。 大多数情况下,第一颗星比第二颗星重要! 最后给出一个三星级索引的创建思想(仅供参考):首先设计一个索引片尽可能窄(第一颗星)的宽索引(第三颗星)。如果查询语句的索引没有涉及到排序操作(第二颗星),那这个索引就是完美的三星级索引,否则就是二星级索引,可牺牲第二颗星来达到最优性能。如果要避免排序,则可以牺牲第一颗星,保留第二颗星。这两种情况在实际中都有用到,需要大家结合具体案例具体分析与选择。
【TUNE_ORACLE】Oracle索引设计思想(四)三星级索引
来源:这里教程网
时间:2026-03-03 16:31:25
作者:
编辑推荐:
- AWR报告基础操作03-03
- 【TUNE_ORACLE】Oracle索引设计思想(四)三星级索引03-03
- 数据库繁忙程度监控03-03
- Oracle sqlldr工具功能测试03-03
- OracleLinux上的Oracle开关机自启动03-03
- Windows Server安装oracle 无法安装以下功能:.NET Framework 3.503-03
- Oracle 高水位处理方法03-03
- SQLServer 2012复制订阅数据订阅过程03-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- Oracle sqlldr工具功能测试
Oracle sqlldr工具功能测试
26-03-03 - SQLServer 2012复制订阅数据订阅过程
SQLServer 2012复制订阅数据订阅过程
26-03-03 - [oracle] 索引低效,导致read by other session等待事件
- 【SQL】SQL表连接方法方式介绍(Oracle/Postgresql)
【SQL】SQL表连接方法方式介绍(Oracle/Postgresql)
26-03-03 - Oracle 19c数据库体系结构-2
Oracle 19c数据库体系结构-2
26-03-03 - 数据库无法注册至监听服务解决办法
数据库无法注册至监听服务解决办法
26-03-03 - Oracle数据库启动过程及状态详解
Oracle数据库启动过程及状态详解
26-03-03 - 数据库常用的事务隔离级别都有哪些?都是什么原理?
数据库常用的事务隔离级别都有哪些?都是什么原理?
26-03-03 - 检查联机后的43 号文件信息:alter database datafile 43 online;
- DG Broker学习5(管理数据保护模式)
DG Broker学习5(管理数据保护模式)
26-03-03
