- 1、本文档共207页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ORACLE_SQL性能优化教程
ORACLE培训--SQL性能优化;内容概述;目录;一、优化基础知识;概述;性能管理;SQL 优化衡量指标;调优领域;调整的方法;不同调整产生相应性能收益;调整的角色;SQL语句优化是提高性能的重要环节;SQL语句优化的过程;什么是好的SQL语句?;SQL共享原理;SQL共享原理;SQL共享的三个条件;共享SQL语句;SQL语句的处理过程;Sql 处理过程;SQL PARSE与共享SQL语句;为什么要bind variables?;什么叫做重编译问题;绑定变量解决重编译问题;绑定变量的注意事项;SQL语句的四个处理阶段;解析(PARSE):;绑定(BIND):;执行(EXECUTE):;共享游标:好处;书写可共享的SQL;绑定变量和共享游标;ORACLE 优化器模式 概述;访问数据表的方式;数据库性能;SQL Tunning 的重点;SQL优化的一般性原则;优化概括;优化概括;** SQL Tunning Tips **;sql 语句的编写原则和优化 ;sql 语句的编写原则和优化 ;Tunning Tip的各个方面;1.不要让Oracle做得太多;避免复杂的多表关联;避免使用 ‘ * ‘;避免使用耗费资源的操作;例如:
低效:
SELECT DISTINCT DEPT_NO,DEPT_NAME
FROM DEPT D,EMP E
WHERE D.DEPT_NO = E.DEPT_NO
高效:
SELECT DEPT_NO,DEPT_NAME
FROM DEPT D
WHERE EXISTS ( SELECT ‘X’
FROM EMP E
WHERE E.DEPT_NO = D.DEPT_NO);;用UNION-ALL 替换UNION ( if possible);2. 给优化器更明确的命令;自动选择索引;至少要包含组合索引的第一列;避免在索引列上使用函数;避免使用前置通配符;避免在索引列上使用NOT;避免在索引列上使用 IS NULL和IS NOT NULL;避免出现索引列自动转换;在查询时尽量少用格式转换;3.减少访问次数;减少访问数据库的次数;使用DECODE来减少处理时间;减少对表的查询;4. 细节上的影响;WHERE子句中的连接顺序;WHERE子句 ——函数、表达式使用;Order by语句 ;联接列 ;带通配符(%)的like语句 ;用Where子句替换HAVING子句;用NOT EXISTS 替代 NOT IN;用索引提高效率;避免在索引列上使用计算;用= 替代 ;通过使用=、=等,避免使用NOT命令;如果有其它办法,不要使用子查询。;外部联接+的用法 ;尽量多使用COMMIT;用TRUNCATE替代DELETE;计算记录条数;比如有的表PHONE_NO字段是CHAR型,而且创建有索引,
但在WHERE条件中忘记了加引号,就不会用到索引。
WHERE PHONE_NO=
WHERE PHONE_NO;优化EXPORT和IMPORT;** 优化 Tools **;SQL 语句的执行步骤;优化器与执行计划;优化器与执行计划;用EXPLAIN PLAN 分析SQL语句;Autotrace 解读;使用TKPROF 工具;在SQLPLUS 配置AUTOTRACE;在SQLPLUS 配置AUTOTRACE;SQL select ename,dname??? from emp, dept?? where emp.deptno=dept.deptno???? and dept.dname in (ACCOUNTING,RESEARCH,SALES,OPERATIONS);
Execution Plan----------------------------------------------------------?? 0????? SELECT STATEMENT Optimizer=CHOOSE?? 1??? 0?? NESTED LOOPS?? 2??? 1???? TABLE ACCESS (FULL) OF EMP?? 3??? 1???? TABLE ACCESS (BY INDEX ROWID) OF DEPT?? 4??? 3?????? INDEX (UNIQUE SCAN) OF PK_DEPT (UNIQUE)
最起码要解决全表扫描问题
改变where条件的次序一般没有用;目录;性能调整综述;谁来调整系统;谁来调整系统;什么时候调整系统;什么时候调整系统;什么时候调整系统;调整的目标;调整的目标;SQL 调整的
您可能关注的文档
- Oracle11gR2DataGuard教程教程.docx
- Oracle11g中的Pivot和Unpivot(统计交叉表)教程.docx
- oracle10g教程从入门到精通教程.doc
- ORACLEEBS和ORALCE数据库问题集教程.doc
- oracleerp系统库存模块岗位操作手册教程.doc
- Oracle11gGateway(ODBC)安装配置教程.docx
- oracle习题练习教程.doc
- Oracle从入门到精通_经典教程.ppt
- Oracle基本命令教程.docx
- Oracle基础知识和语法教学教程.docx
- 上海海洋大学《海洋环境分析技术》课件-21化学发光分析法.pdf
- 上海海洋大学《海洋环境分析技术》课件-20分子荧光分析法.pdf
- 上海海洋大学《海洋环境分析技术》课件-22色谱分离过程.pdf
- 上海海洋大学《海洋环境分析技术》课件-25气相色谱仪与固定液.pdf
- 上海海洋大学《海洋环境分析技术》课件-24色谱定性定量方法.pdf
- 上海海洋大学《海洋环境分析技术》课件-26气相色谱检测器.pdf
- 上海海洋大学《海洋环境分析技术》课件-29液相色谱固定相与流动相.pdf
- 上海海洋大学《海洋环境分析技术》课件-27气相色谱分离条件的选择.pdf
- 上海海洋大学《海洋环境分析技术》课件-28液相色谱仪器与类型.pdf
- 上海海洋大学《海洋环境分析技术》课件-3 原子光谱和分析光谱.pdf
文档评论(0)