ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 离DB2引擎越近的代码跑得越快

离DB2引擎越近的代码跑得越快

原创 Linux操作系统 作者:王飞鹏2011 时间:2012-05-17 06:34:52 0 删除 编辑
     有句话说得不错:“离DB2核心引擎越近的代码跑得越快。”什么离DB2核心引擎近?为什么跑得快? 如果有这两个问题,我们可借此讨论一下数据库服务器端应用开发。
    随着Java和.NET技术的发展,以及相关的开源框架的流行,构建基于数据库的客户端应用系统越来越容易,越来越高效。但是,对于一些核心的应用系统,当你深入的考虑系统的性能、安全控制、可扩展性以及后期维护的时候,你不可避免的涉及到数据库服务器端应用开发。
    说到服务器端应用开发,毫无疑问,存储过程是最重要的。尤其在系统性能要求高的情况下,几乎没有不用存储过程的。存储过程封装业务逻辑,并在服务器端执行。这样带来的好处是,客户端程序只需通过一条CALL语句调用,就可以完成相应的工作,并得到最后的结果,不需要用户的交互,极大的减少了数据在客户端和服务器之间的网络传输开销,从而提高整个系统的性能。
        
    如果一个客户端程序需要对远程数据库进行多个操作,可以有两种方式:
1. 每条SQL语句依次从客户端送到DB2服务器,然后数据又从服务器端传送到客户端,需要多次数据通信。
2. 客户端调用DB2服务器上的存储过程,这个存储过程包含相同的SQL语句和业务逻辑,只需一次调用就可以获得最终的结果。因此,减少了网络开销,提高了性能。
     不过,减少网络开销仅仅是使用存储过程的优点之一,还有很多其他优点,主要表现在以下几个方面:
 执行速度更快:一般的SQL语句每执行一次就编译一次,而存储过程在创建时就已经将其中的SQL编译好,并存储在数据库中,以后每次执行存储过程都不需再重新编译,执行速度更快。
 安全性高:安全控制在数据库应用系统中非常重要,而使用存储过程能提供更好的数据库访问安全控制,可限定只有某些用户才具有对指定存储过程的使用权。
 更好的模块化:应用系统越来越复杂,使用存储过程可以很方便地将数据库操作和业务层逻辑分离。数据库开发人员负责数据库端的开发,而应用开发人员更关注业务层逻辑的实现。这样的分工不仅可以提高开发效率;而且存储过程作为服务器端模块,可以重复使用,这使得应用系统具有更好的扩展性。
 更易于维护:使用存储过程的应用系统在后期维护中表现出更大的优势。由于存储过程是数据访问的接口,当数据库的表结构或者程序逻辑变化时,数据库开发人员可以在不改动存储过程接口的情况下修改存储过程的实现。这些改动不会对应用程序造成影响。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25714482/viewspace-729980/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2011-04-27

  • 博文量
    58
  • 访问量
    586471