ǰλã >> SQL >> Oracle SQL性能优化深入浅出
  ϸ

Oracle SQL性能优化深入浅出

ȶȣ76   ʱ䣺2016-05-05 12:08:26.0
Oracle SQL性能优化深入浅出 3
用EXPLAIN PLAN 分析SQL?:
EXPLAIN PLAN ??好的分析SQL?的工?它甚至可以在不执行SQL的情况下分析?. 通过分析,我们就可以知道ORACLE??么样连接表,使用?么方式扫描表(索引?或全表扫?以及使用到的索引名称.
你需要按照从里到?从上到下的?序解读分析的结果.
EXPLAIN PLAN分析的结果是用缩进的格式排列? ?内部的操作将?先解? 如果两个操作处于同一层中,带有?小操作号的将??先执?
NESTED LOOP?数不按照上述规则处理的操? 正确的执行路径是?查?NESTED LOOP提供数据的操?其中操作号最小的将??先??

使用TKPROF工具分析SQL?:
SQL trace 工具收集正在执?的SQL的?能状?数?记录到一??件中. 这个跟踪文件提供了?多有用的信息,例?解析次数.执?次数,CPU使用时间?这些数据将可以用来优化你的系?
设置SQL TRACE在会话级? 有效
ALTER SESSION SET SQL_TRACE TRUE
设置SQL TRACE 在整??有效, 你必须将SQL_TRACE参数在init.ora??为TRUE, USER_DUMP_DEST参数说明了生成跟?件的?
再使用TKPROF对TRACE文件进?分析分析结果更加准确、清?

在SQLPLUS 配置AUTOTRACE:
SET AUTOTRACE OFF :不能获得AUTOTRACE报告. 这是默??
SET AUTOTRACE ON EXPLAIN :仅仅显示优化器执行?划的AUTOTRACE报告
SET AUTOTRACE ON STATISTICS :仅仅显示SQL?执?的统计结果的AUTOTRACE报告
SET AUTOTRACE ON :包括上面两项内?的AUTOTRACE报告
SET AUTOTRACE TRACEONLY :与SET AUTOTRACE ON类似,?有的统?和数??但不?打印

SQL 调整的目?
1)去掉不必?的大型表的全表扫描??
2)缓存小型表的全表扫描??
3)校验优化索引的使用?
4)?验优化的连接????

在?计和?发时调整?/strong>
当?计你的系统时,使用下列优化?能的准则:
- 消除客户机/服务器应用中不必要的网络传输,使用存储过程??
- 使用适合你系统的Oracle服务器?件(例如,并?查?或分布式数据库)?
- 除非你的应用有特殊的?要,否则使用缺省的Oracle锁??
- 利用数据库?住应用模块,以便能以每个模块为基?来追??能?
- 选择你的数据块的?佳大小??-- 原则上来说大?些的性能较好?
- 分布你的数据,使得一?点使用的数据?存贮在?节点???