zoukankan      html  css  js  c++  java
  • 存储过程的优缺点

    定义:一组为了完成特定功能的sql语句集。

    优点
    1,执行速度快。存储过程存储在数据库中,一次编译永久有效。相对于一般sql每执行一次就要编译一次而言快。
    2,减少网络传输。存储过程直接在数据库上跑,不需要数据传输,限制存储过程的只是硬盘的速度而非网速。
    3,可维护性。有些问题直接改存储过程就行,无需编译发布代码了。
    4,安全性高。存储过程比较稳定,可以设定权限。
    5,可扩展性高。应用程序和数据库编码单独工作,减少了耦合。

    缺点
    1,开发调试性差。由于IDE问题,存储过程比一般sql调试起来困难许多。
    2,可移植性差。sql终归只是结构化查询语言,不是面向对象的,过程的处理非常吃力,对于一些复杂的业务更加困难,同时也限制了应用程序的可移植性。
    3,重新编译问题。对于一些参数或结果的变化,需要重新调试编译,比较繁琐。
    4,不支持集群。存储过程使得数据库无法水平拓展或数据库切割,,因为切割后存储过程不知道数据在哪个数据库中。

    总之,适当运用存储过程可以提高性能,但不应大规模滥用。而且随着众多ORM的出现,存储过程的许多优势已经很不明显了。而且最重要的是,SQL终归只是结构化查询语句,我们不应该用存储过程处理复杂的业务逻辑,它不仅使得我们的代码可读性变差,也违背了SQL的初衷,复杂的业务逻辑还应交给代码处理。阿里手册中也提到严禁使用存储过程,因为其差劲的调试和拓展,以及可移植性。当然猜测可能是用的数据库是MySQL,因为MySQL对存储过程得支持太差,远不如SQL server,

    引文地址:https://blog.csdn.net/u010796790/article/details/52194842

                      https://www.cnblogs.com/wiggin-Z/p/10614497.html

  • 相关阅读:
    70.BOM
    69.捕获错误try catch
    68.键盘事件
    523. Continuous Subarray Sum
    901. Online Stock Span
    547. Friend Circles
    162. Find Peak Element
    1008. Construct Binary Search Tree from Preorder Traversal
    889. Construct Binary Tree from Preorder and Postorder Traversal
    106. Construct Binary Tree from Inorder and Postorder Traversal
  • 原文地址:https://www.cnblogs.com/lvqiang/p/14187825.html
Copyright © 2011-2022 走看看