高级SQL优化(二) ——《12年资深DBA教你Oracle开发与优化——性能优化部分》
目录:
类型
|
,描述
|
b-tree索引
|
最常最多使用的索引,其树结构与二叉树比较类似,根据ROWID快速定位所访问的行
|
bitmap索引
|
使用位图来管理与数据行的对应关系,适用于基数比较少的列
|
降序索引
|
降序索引在叶子节点中的存储从左到右是按照从大到小排序的;一般是针对逆向排序较多的查询时才使用该类型索引
|
函数索引
|
针对要频繁对列使用函数的索引,只有当查询语句包含该函数或者表达式时,基于函数的索引才会被调用
|
反转索引
|
反转了b*tree索引码中的字节,使索引条目分配更均匀,多用于并行服务器环境下,用于减少索引的竞争
|
分区索引
|
分区表的索引,又包括本地分区索引(本地前缀分区索引和本地非前缀分区索引)和全局索引,一般建议使用本地分区索引,因其与基表具有良好的数据均衡性和可维护性
|
类型
|
方式
|
发生条件
|
1.FULL INDEX SCANS
|
逐一读取索引中的所有块,由于索引中数据已按索引键排序,因此会忽略掉排序
|
1.ORDER BY中的列全部在该索引中时
2.ORDER BY中列的顺序满足索引中前导列的顺序时 3.使用GROUP BY且该子句中的列在索引中时 |
2.FAST FULL INDEX SCANS
|
只扫描索引中的数据,不会扫描表中的数据;由于索引中数据未按索引键排序,因此不能忽略掉排序
|
当同时满足下列条件是,Oracle用FFIS替代FIS:
1.查询的所有列均包含在索引中 2.索引中的列至少一个具有not null约束 |
3.INDEX RANGE SCANS
|
访问选择性数据最常用的扫描方式;按顺序的对某个索引进行扫描,返回数据是升序排列的,可以使用唯一索引和非唯一索引;如果对索引列使用ORDER BY/GROUP BY则可省略排序
|
1.在唯一索引上使用范围操作符(>、<、>=、<=、<>、BETWEEN)
2.在组合索引上使用部分列进行查询,导致查出多行 |
4.INDEX UNIQUE SCANS
|
扫描唯一索引或主键,要么返回一行数据要么返回0行数据
|
1.当使用唯一索引时
2.当使用主键时 |
5.INDEX SKIP SCANS
|
其实质是将索引分解成多个小的子索引来提高效率,系从9i开始引入
|
复合索引中前导列的取值是枚举的从而可以分拆为多个子索引,并且查询条件中不含前导列时
|
项目
|
多个索引
|
复合索引
|
复合索引是多个索引的
|
一、执行时间
|
0.281
|
0.11
|
39.15%
|
二、执行计划
|
|||
1.总耗费
|
1658
|
464
|
27.99%
|
2.I/O耗费
|
1562
|
462
|
29.58%
|
3.时间
|
19
|
6
|
31.58%
|
转载于:https://www.cnblogs.com/liuzhuqing/archive/2013/02/04/7480629.html
高级SQL优化(二) ——《12年资深DBA教你Oracle开发与优化——性能优化部分》相关推荐
- 高级SQL优化(三) 常用优化工具 ——《12年资深DBA教你Oracle开发与优化——性能优化部分》...
目录: Oracle数据完整性和锁机制 索引及优化之表分析 表分析.约束及表间关系 Oracle体系结构1 Oracle体系结构2 海量数据库及分区1 海量数据库及分区2 海量数据库及分区 ...
- 海量数据库及分区4——《12年资深DBA教你Oracle开发与优化——性能优化部分》...
目录: Oracle数据完整性和锁机制 索引及优化之表分析 表分析.约束及表间关系 Oracle体系结构1 Oracle体系结构2 海量数据库及分区1 海量数据库及分区2 海量数据库及分区 ...
- 阿里二面:千万级、亿级数据,如何性能优化? 教科书级 答案来了
说在前面 在尼恩指导了几百个小伙伴的面试,在这些过程中, 非常.非常高频的一个面试题: 千万级数据,如何做性能优化? 亿级数据,如何做性能优化? 最近,有个小伙伴阿里二面,又遇到了这个问题. 其实,尼 ...
- DBA整理的万字详解MySQL性能优化,值得收藏!
点击关注公众号,实用技术文章及时了解 作者:LanceToBigData cnblogs.com/zhangyinhua/p/7620964.html 说起MySQL的查询优化,相信大家积累一堆技 ...
- oracle in 索引_Oracle 性能优化总结
作者 | 帅性而为1号 出处 : https://blog.csdn.net/zhushuai1221/article/details/51740846 网上关于SQL优化的教程很多,但是比较杂乱.近 ...
- oracle 触发器性能优化,Oracle设计开发阶段的性能优化策略
我们都知道提高Oracle数据库的相关系统的实际运行效率,它是整个计算机的实际应用信息系统的高效运行的前提与保证.其实影响Oracle设计开发阶段的相关性能的因素很多,既有软件方面的因素. 也包括数据 ...
- 性能优化还不会?吃掉这五个类别,摆平性能优化~
在针对实际的性能问题的时候,用什么样的解决方案才可以提升性能呢?这就需要你了解具体的优化策略了. 现实中的性能问题和具体领域千差万别,我也不可能面面俱到.但是为了帮助你理解,我总结了十大常用的优化策略 ...
- Android开发中的性能优化(摘录:陈彧堃演讲实录)
大家好!我是陈彧堃,其实HTML5我之前也做过一些相关的研究,包括现在我们也在做一些调研.我个人一年前在G3上利用HTML5开发一些东西的时候,我发现原生的对HTML不支持,开始踏踏实实做Androi ...
- 前端开发:Web性能优化有哪些方法?
Web性能优化,主要分为前端和后台两个部分性能优化,后台性能优化决定了Web能不能用,前端优化决定了其好不好用,也就是牵涉到前端用户体验和Web易用性等情况,所以前端性能与用户体验是有着极大的关联的. ...
最新文章
- Linux网络相关知识
- VC下调用x264进行视频编码,
- Android性能优化典范(转)
- 27. 二叉树的镜像
- C语言学习笔记---时间函数clock()和time()
- 《计算机系统:系统架构与操作系统的高度集成》——3.2 处理器实现涉及什么...
- ipv6 ripng配置
- 单片机c语言毕业设计,单片机毕业设计的总结.docx
- 如何使用一键回录游戏视频
- metricbeat监控mysql_metricbeat
- 愚人节恶搞html,愚人节来玩变装!爆笑在线恶搞照片网站
- KeyError: ‘Worksheet sheet does not exist.‘
- python getcwd_python – 执行os.getcwd()时出错?
- iso-8859-1表示中文汉字
- C语言零基础项目:打字母游戏!详细思路+源码分享
- matlab绘图学习(绘制图形的辅助操作)
- c语言程序设计名片管理系统,《名片管理系统》 - C语言课程设计
- blur事件与click事件冲突的解决办法
- DW大学生网页作业制作设计 中华饮食文化(HTML+CSS+JavaScript) Web前端大作业
- 定义C++类对象的方法
热门文章
- c#如何操作excel文件、Interior.ColorIndex 色彩列表
- 在.NET程序中使用PIPE(管道技术)
- php帝国程序跨表调用数组,帝国CMS 跨表调用相关信息标签
- Nginx+tomcat负载均衡session问题解决
- leetcode算法题--删除回文子序列
- snort3安装教程
- NAPI技术--在Linux 网络驱动上的应用和完善(二)
- 离散数学范式c语言实验报告,离散数学实验报告-利用真值表法求主析取范式及主合取范式的实现...
- Crypto++库在VS 2005中的使用——RSA加解密
- 微服务架构可视化平台实践