- 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 调整的
文档评论(0)