针对Oracle数据库及其应用程序的优化

时间:2007-10-02 12:01:51  来源:ahcit.com  作者:杜国军

  2.5 优化数据库使用的内存配置

  要调整数据库的高速缓冲区,共享池、重演日志缓冲区和进程全局区的大小平衡问题。

  3.优化应用程序

  3.1 采取统一的SQL程序

  因为Oracle在执行SQL文时,首先将当前要执行的SQL文与公共区域中保存的先前执行过的SQL文进行比较,SQL文相同时,就会跳过当前要执行的SQL文的解析处理,这样通过减少解析次数就加快SQL文的执行速度。

  3.2 选取合适的SQL代码

  在进行数据库操作时,同一结果可以用很多方法来实现。我们应当选取合适的SQL代码,使其更容易明了,并且运行速度更快。

  3.3 明确列名

  使用SELECT取得的列名一定要明确指定,并且应当使抽出的记录要尽量少。用SORT等的场合,因为Oracle将必要的列的值放到WORK领域,因此减少列数也就节约了I/O回数。

  3.4 注意结合索引的顺序

  由于列的顺序不同而导致索引的作用效果不同。例如:(AGE,ADDRESS)顺序的结合索引。

    WHERE AGE=28 AND ADDRESS=’BEI JING’           &结合索引有效
    WHERE AGE=28                                     &结合索引有效
    WHERE ADDRESS=’BEI JING’                         &结全索引无效
 
  3.5 注意WHERE的使用

  3.5.1 索引列不要使用函数

  由于索引列一旦使用了函数,索引就会变无效,因此在能用索引的情况下,尽量改变程序来利用索引。如:

  WHERE SUBSTR(TELNO,2,2)=’88’改为WHERE TELNO LIKE ‘88%’较好。

  3.5.2 索引列不要使用NOT

  由于索引列一旦使用不等于,索引就会变得无效,最后导致速度变慢。

  3.5.3 不要用NULL

  如果用了NULL,索引就会无效,变成全表检索,影响处理速度。

  3.5.4 不要对索引列进行计算

  如果对索引列进行计算,索引就会无效,也后导致速度变慢。

  4.结束语

  本文所提出的优化方法,能够起到提高Oracle数据库性能以及提高Oracle应用程序执行效率的作用。这仅是个人在实际工作中的经验总结,希望能够对广大同行起到一定帮助作用。

文章评论

共有 位CH网友发表了评论 查看完整内容