首页 / 更多教程 / SQL优化 第二章 执行计划
SQL优化 第二章 执行计划
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了SQL优化 第二章 执行计划,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1619字,纯文字阅读大概需要3分钟。
内容图文
![SQL优化 第二章 执行计划](/upload/InfoBanner/zyjiaocheng/909/6f15f2fd61744110b3ab28fc7ccbcc1d.jpg)
参考资料:
本系列博客主要参考资料有CUUG冉乃纲老师数据库教学笔记,《SQL优化核心思想》(罗炳森,黄超,钟侥著),《PostgreSQL技术内幕:查询优化深度探索》(张树杰著),排名不分先后。
执行计划就是SQL执行的步骤,因为我们写的SQL不一定就是按照我们写的执行,数据库优化器会根据统计信息(统计信息后面讲解)进行SQL改写(SQL改写后面讲解),生成执行计划,但是下面三种执行计划,作为基本,要掌握。
另外,一般获取执行计划时至少执行两次,以固定执行计划(因为优化器自己也会自己进化执行计划,达到性能优化目的)及消除物理读。
物理读:从磁盘读取数据
逻辑读:从内存读取数据
1 获取真实执行计划
Alter session set statistics_level=all;
Select * from table(dbms_xplan.display_cursor(null,null,'allstats last')) ;
例子:
Alter session set statistics_level=all;
select * from emp;
Select * from table(dbms_xplan.display_cursor(null,null,'allstats last')) ;
A-Rows(实际返回行数)是这种获取方式独有的,也是超级具有参考价值的
E-Rows(估算返回行数)和A-Rows的比较很重要,当相差很大时,我们有时候要更改执行计划。
2 set autotrace on/off/traceonly
这个是根据统计信息拿到估算的执行计划。
set autotrace on;
select * from emp;
逻辑读总计(consistent gets),物理读总计(physical reads),递归调用次数(recursive calls)可以方便看到。
3 EXPLAIN PLAN
当某个性能SQL死掉,不出结果时,我们可以用这个,这个肯定是估算的执行计划,但是没有办法,我们只能先参考这个进行优化。
EXPLAIN PLAN FOR select * from emp;
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);
超级简单的执行计划,在不出结果时初步参考使用,属于无奈之举。
4 关于执行计划入口选择
执行计划的入口选在很重要,我们要知道执行计划从哪里开始的,执行计划阅读方法请自行网上搜索<光标移动大法>,这是一个比较好用的办法。
内容总结
以上是互联网集市为您收集整理的SQL优化 第二章 执行计划全部内容,希望文章能够帮你解决SQL优化 第二章 执行计划所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。