Oracle性能优化图文详解——利用第三方工具

    开发中或者是正在运行的系统性能显著恶化的场合,需要进行性能优化。当听到性能优化时,有些人可能会感觉到非常困难,如果利用图形化界面的第三方工具,通过使用索引或者内存等可以非常简单的进行性能优化。这篇文章将以Object Browser为例来介绍怎样简单的优化数据库性能。

性能优化是什么


EC系统的“3秒钟规则”

    假设在EC网站上,访问网站的顾客都必须要等待三秒钟的响应时间,这个时间被称为“3秒钟规则”。如果响应时间在三秒钟以上的话,顾客就会认为这个网站服务慢,有可能会导致商业机会的丢失。不用说EC网站的例子,为了有效的推行业务,系统的性能是非常重要的。系统中并不仅仅要安装重要的功能(功能需求),还必须要知道响应时间是多少,单位时间内电脑的处理量、通信线路的数据传送量等(非功能需求)。

    数据库即使是在系统开发的后端,也有调整响应时间的性能优化。数据库性能优化就是针对响应时间非常慢的场合实施的对策。OB有很多功能支持性能优化。

性能优化的流程

     以下是包含数据库的一般的性能优化的流程。

    1.  调查

        性能优化首先要从性能测定和找到产生问题的地方开始。要把系统构成和应用设计作为优化对象进行确认和测定,调查延迟原因。

        测定方式除了响应时间之外,还可以查看SQL实行计划中“cost”使用量。

    2.  设定目标值

        接下来,我们要知道要把性能改善到何种程度。进行性能优化有很多种手段,要是全部实施的话将是没完没了的,所以最重要的是设定目标值。

        要考虑系统至少需要把性能调整到何种程度,例如EC网站要把响应时间缩短到3秒以内等等。

    3.  研究改善对策

        决定了目标之后就要研究改善对策了。应用逻辑有问题的话就把算法修改成更高效的,SQL有问题的话就把表的关联尽量减少。

        还有给表设定合适的索引,把外部的应用处理用存储过程的形式。尽量找到达成目标的最有效的方法。

    4.  实施/调整

        决定了改善对策之后,进入实施阶段,看能否达成目标。如果目标达成了,性能优化就成功了。也有实施对策之后没有达成目标的情况,这时就要重复一遍以上的步骤,改变改善对策。

        假如有多个改善对策的话,可以改变改善方法或者是追加改善方法。也许还会遇到其他的瓶颈,这时要返回去重新进行原因分析。在达成目标之前,以上的步骤要循环1~4圈。

图1:性能优化顺序

        所谓瓶颈就是数据库服务器的内存不足,或者SQL的处理速度等数据库外部的性能调整。本篇文章介绍如何使用OB进行数据库优化。

SQL处理速度的改善(优化索引)

    最初运行良好的系统突然变的非常慢,这通常被认为是因为数据的增加使响应速度降低。像这种场合,“优化索引”多次发挥了效果。

    优化索引就是给表做成合适的索引,改善性能的方法。如果表中没有索引的话,检索时就是从表所有数据中进行搜索(全表搜索)。进行全表搜索时,如果数据量很大的时候访问速度就会非常慢。这时,如果给表设置合适的索引的话,从大量的数据中有目的的高效的进行搜索,这就可以改善性能。以下是一般优化索引的顺序和OB的功能。

    1.  抽出运行慢的SQL-->SQL缓存

    2.  测量SQL的性能-->实行计划

    3.  做成合适的索引-->索引顾问

图2:索引优化顺序

    使用“SQL缓存”找到SQL性能低下的原因。用“实行计划”测量性能。用“索引顾问”决定改善对策。

抽出速度慢的SQL  “SQL捕捉”

    接下来要具体介绍“SQL捕捉”的操作方法。为了进行索引优化,首先要从所有的SQL文中找到速度慢的SQL。

    SQL捕捉,是跟踪SQL一览表示处理速度和测定结果的功能。此功能在“工具”菜单的“SQL捕捉。

    SQL捕捉是为了调查正在运行的SQL所实施的跟踪。跟踪就是对正在运行的SQL的记录。初次启动SQL捕捉时,显示的是跟踪文件存在的文件夹对话框。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值