谈谈33558www.Sina.com/Oracle的优化器。 RBO :基于规则的优化器; Oracle9i以前使用,对SQL语句的语法规则要求很高,调整必然从语法规则开始; 例如,驱动表放在from关键字的最后,尽量用exists、not exists代替in、not in等。
CBO :基于成本(cost )的优化程序; 在Oracle9i之后使用的也是Oracle主导的优化程序,更智能,对语法规则不敏感。 这是因为,虽然更智能地改写SQL,但依赖于正确的统计信息。
1、由于执行计划依赖于统计信息,统计信息的最新与否直接影响SQL的性能,常见的性能问题可以用这种方式完美解决! 更新统计语法:
alyzetabletable _ namecomputestatistics; -重新收集表的统计信息
analyzeindexidx _ nameestimatestatistics; -重新收集索引统计信息
2、使用Explain plan命令显示表连接方式(首先Oracle表连接方式和特点)。
NESTED LOOP :嵌套循环,性能不稳定
嵌入式loop
HASH JOIN :散列连接,性能稳定
哈什琼
合并连接:合并连接,性能低
在cost的比较中,性能也相当差
三种表格连接方式的适用场景:
适用场景
plsql中使用F5查看),采用最稳定的hash join 的表连接方式,通过hints方式干预
最近的领先优势:
同步和锁定的区别今后令人难忘
同步化使用总结
OSI网络七层模型难记忆吗? 不存在
分两个阶段实现Java自定义注释