zoukankan      html  css  js  c++  java
  • 系统开发中存储过程使用的优势和劣势

              在系统开发中使用存储过程来完成一些功能是很平常的事情,因为对于性能要求高的操作,或者大数据量的操作,存储过程比使用编程语言开发有相当的性能优势。曾经看到过一个系统使用的存储过程能用巨多来形容,基本上所有的操作都是在数据库写的存储过程。自己当初接触该系统时,对该系统的设计师兼DBA那是相当的佩服。他玩SQL玩的太牛了,写SQL直接用记事本写,然后写完几百行的脚本,基本不用怎么去调试和运行就可以通过了。

              但是当我去了解该系统的业务和进行二次开发就发现很痛苦了,因为在存储过程中出现了错误可就不能像Visual Studio中那么方便的进行跟踪了,想单步没门。只能Print或者RAISERROR('',16,1)来解决了,可想而知,这就是一件考验人的耐心的事情了。同时我也发现一个好处,就是存储过程中的Bug一经解决发布就很方便了,不需要发布程序。

              罗列存储过程的优点如下:

              1.执行效率高。

              2.安全性能好。

              3.对于一些场合非常容易实现需求。

              缺点如下:

              1.可维护性比较差。

              2.可读性也差。

            当我们在改代码时,我们通过VS可以全部搜索,确认不必要的代码可以删除,但是存储过程可,没有那么容易了,你当然可以在数据库的所有存储过程中进行查找,但是

    那些数据库的Job呢,或者其他数据库可能用到了这个存储过程呢,你没有那么容易确认吧。

            因此我个人认为在开发系统时存储过程不要滥用,用多了后期维护就比较麻烦了,有些能够在代码中实现而且对系统性能影响不大的操作就不用写在存储过程中了,而且

    考虑发布容易的问题,可以考虑在服务端完成一些业务操作,使用服务代替一部分存储过程的功能。

  • 相关阅读:
    HDU1106 排序
    HDU2050 折线分割平面
    HDU2048 神、上帝以及老天爷
    POJ1836 Alignment
    POJ1182 食物链
    HDU2067 小兔的棋盘
    HTML中的ID不能以数字开头
    automake,autoconf使用详解
    How to install Samba server on Ubuntu 12.04
    Netbeans使用UTF-8编码
  • 原文地址:https://www.cnblogs.com/kevinGao/p/2964338.html
Copyright © 2011-2022 走看看