2022年ORACLE索引介绍与高性能SQL优化 .pdf
《2022年ORACLE索引介绍与高性能SQL优化 .pdf》由会员分享,可在线阅读,更多相关《2022年ORACLE索引介绍与高性能SQL优化 .pdf(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、ORACLE 索引介绍与高性能SQL 优化2007-9-19 来源:不详 作者:佚名点击:481 次什么是索引索引是建立在表的一列或多个列上的辅助对象,目的是加快访问表中的数据;Oracle 存储 索引的 数据结构 是 B*树,位图索引也是如此,只不过是叶子节点不同B*数索引;索引由根节点、分支节点和叶子节点组成,上级索引块包含下级索引块的索引数据,叶节点包含索引数据和确定行实际位置的rowid。使用索引的目的加快查询速度减少 I/O 操作消除磁盘排序何时使用索引查询返回的记录数排序表 40%非排序表 40%,排序表 7%,建议采用并行机制来提高访问速度,DDS;索引访问。最常用的方法,包括索
2、引唯一扫描和索引范围扫描,OLTP;快速完全索引扫描。访问索引中所有数据块,结果相当于全表扫描,可以用索引扫描代替全表扫描,例如:Select serv_id,count(*)from tg_cdr01 group by serv_id;评估全表扫描的合法性如何实现并行扫描。永久并行化(不推荐)alter table customer parallel degree 8;。单个查询并行化select/*+full(emp)parallel(emp,8)*/*from emp;上一页 1 2 3 4 下一页名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 12 页 -分区表效果明显优
3、化 SQL语句排序排序的操作:。order by 子句。group by 子句。select distinct子句。创建索引时。union 或 minus。排序合并连接如何避免排序。添加索引。在索引中使用distinct 子句。避免排序合并连接使用提示进行调整使用提示的原则。语法:/*+hint*/。使用表别名:select/*+index(e dept_idx)*/*from emp e。检验提示常用的提示。rule。all_rows。first_rows。use_nl。use_hash。use_merge。index。index_asc 名师资料总结-精品资料欢迎下载-名师精心整理-第 8
4、 页,共 12 页 -。no_index。index_desc(常用于使用max 内置函数)。index_combine(强制使用位图索引)。index_ffs(索引快速完全扫描)。use_concat(将查询中所有or 条件使用union all)。parallel。noparallel。full。ordered(基于成本)调整表连接表连接的类型。等连接where 条件中用等式连接;。外部连接(左、右连接)在 where 条件子句的等式谓词放置一个(+)来实现,例如:select a.ename,m from emp a,bonus b where a.ename=b.ename(+);该语
5、句返回所有emp 表的记录;。自连接Select a.value total,B.value hard,(A.value-b.value)soft,Round(b.value/a.value)*100,1)perc From v$sysstat a,v$sysstat b Where a.statistic#=179 and B.statistic#=180;反连接反连接常用于not in or not exists中,是指在查询中找到的任何记录都不包含在结果集中的子查询;不建议使用not in or not exists;。半连接查询中使用exists,含义:即使在子查询中返回多条重复的记录
6、,外部查询也只返回一条记录。名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 12 页 -嵌套循环连接。被连接表中存在索引的情况下使用;。使用 use_nl。hash 连接。Hash 连接将驱动表加载在内存中,并使用 hash 技术连接第二个表,提高等连接速度。适合于大表和小表连接;。使用 use_hash。排序合并连接。排序合并连接不使用索引。使用原则:连接表子段中不存在可用索引;查询返回两个表中大部分的数据快;CBO 认为全表扫描比索引扫描执行的更快。使用 use_merge 使用临时/中间表多个大表关联时,可以分别把满足条件的结果集存放到中间表,然后用中间表关联;SQL 子查
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年ORACLE索引介绍与高性能SQL优化 2022 ORACLE 索引 介绍 性能 SQL 优化
限制150内