oracle性能优化一——简介

      数据库是信息系统中核心的部分,数据库的高效性、安全性、稳定性、延展性,是项目成功的关键之一。一个好的数据库系统,设计当然是关键,但是就像显微镜的粗调和微调,当软件开发完成后,通过不断的对系统的跟踪监控,对数据库系统进行优化也是必不可少的。可以认为优化是数据库设计的一种顺延,和设计是相辅相成的。数据库的优化实际上从设计、数据库的安装就已经开始了,我们不应该就sql语句的效率孤立的谈论数据库的优化问题。实际上很多数据库优化的经验,在设计的时候就必须要考虑。

      本文首先谈了一下和性能优化有关的基本概念,之后分六个方面详细讨论了数据库优化的方法、手段。在数据库的监控部分讲述了为什么?什么时候?如何监控数据库,并给出了一些可以直接使用的简单sql,用来直接分析某些方面的问题。从始至终,贯穿了一个实际的例子帮助读者能更好的理解有关理论。由于使用了多个工具参与优化工作,文中对每种工具的使用技巧做了简单提示。本文用到的例子是作者前不久遇到的一个项目,操作系统是DIGITAL ES20(True64UNIX),硬件配置为 520M内存,单cpu,单SCSI硬盘。这里只提一下大概的性能和功能要求:系统要求能在短时间内,导入5、6百万条的记录、部分数据需要手工录入。录入的记录进行处理后,被处理后产生各种报表,并且报表很可能发生变化。本系统在使用了一段时间后,发现性能严重下降,生成报表和数据导入都需要很长时间,通过优化将响应控制在了可以忍受的范围。

 

1  性能优化有关的基本概念

1.1 响应时间 

      数据库是否高效的一个重要指标就是响应时间,响应时间短,查询就可以使用更少的时间,所以响应时间短,反应速度快是高效率的一个表现,这里有一个统计的数据。

 

Ø        1/10秒是用户认为系统能够立即反应的极限

 

Ø        1 秒是用户觉得没有被中断的极限

 

Ø        10秒是用户能将注意力继续集中在与计算机的对话上的时间极限

 

引用自Jakob Nielsen 的“Usability Engineering”第五章(Morgan Kaufmann, San Francisco出版)

 

简单的说,数据库优化就是要缩短系统的响应时间。

 

1.2 数据库的增长


      数据库不是静止不动的,应用程序的螺旋式展开,数据库的规模的不断增大,用户数目的不断增多,最终将会导致响应时间的增加。虽然期间经过硬件的升级和数据库的优化,可以降低响应时间,但是在整个产品周期内,响应时间是会周期性展开的,有一个总体的发展趋势.

 

      在数据库的设计阶段,就应该估算数据库的增长率,并作为系统硬件参数、内存参数、数据库空间配置参数、环境参数设置的依据。在数据库的优化阶段,可以通过对数据库的监控来验证和调整我们的估计,并适当改变参数和调整sql,来控制系统的响应时间。

 

      不同的业务特点增长率是不同的,根据在应用中的作用,数据库表基本上可以分为

     (1)静态参数表(应用相关表):相对稳定,并且比较小

 

     (2)动态参数表(事务相关表):于事务大小有关,缓慢增长

 

     (3)数据表(事务表):增长的主要因素,并且不稳定

 

     (4)临时/接口表:临时使用,之后被删除


具体优化方案请看后文。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

弯_弯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值