从程序员角度来看数据库优化

谈到数据库优化概念,总感觉很庞大,无从下手;最近,听了一次DBA的分享,感觉有些思路;整理成文字,强化记忆;仅仅是一些个人理解和信息聚合,可能有所偏差,还望有所指正:
[b]为什么需要数据库优化?[/b]

数据库性能优化主要的目的无非就是降低数据库响应时间,提升数据库响应能力TPS;

[b]数据库响应时间[/b]

数据库响应时间=连接时间+SQL解析时间+SQL执行时间+结果集返回时间

可以看出需要优化的方面:数据库连接、SQL解析、SQL执行、结果集这个四个方面;

可以将上述四方面的优化简单来看:
1.SQL执行:硬盘数据访问与写入、日志记录、排序、表连接、SGA内存优化、比较
2.SQL解析:执行计划缓存、SQL解析、执行计划优化(CBO/RBO)、表连接策略、索引策略、排序
3.结果集: 结果集内存缓存、网络数据传输
4.数据库连接:数据库连接池、SQL请求

数据库IO性能试图:

[img]http://hi.csdn.net/attachment/201012/6/0_1291636622rnbL.gif[/img]

从IO性能来看,优化的方向:
1.减少磁盘访问:硬盘数据访问与写入、日志、大数据量排序、大表表连接、
2.减少网络传输:结果数据请求、SQL请求、数据库连接
3.降低CPU与内存开销:SGA缓存数据访问、比较、排序、表连接、事务检测、SQL解析、函数与逻辑运算

从上述两个方向来看,优化的内容相同,划分的问题不同:
从IO性能方向的优化,可以参考:
MKing's Blog 面向程序员的数据库访问性能优化法则:[url]http://blog.csdn.net/yzsind/article/details/6059209[/url]

从响应时间角度来看,其中涉及到了:SQL执行、结果集、数据库连接 等方面

对于SQL解析方面涉及较少,这方面的资料可以参考:
ORACLE 执行计划分析:
[url]http://www.cnblogs.com/rootq/archive/2008/09/06/1285779.html[/url]
执行计划优化策略:
Oracle RBO、CBO简介:[url]http://blog.csdn.net/suncrafted/article/details/4239237[/url]

如果想深入理解Oracle数据库体系结果,可以参考:
Oracle数据库体系结构:[url]http://www.knowsky.com/386200.html[/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值