• 你为什么(不)用存储过程?


    存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。

    结合工作和网上 查到的资料,列一下特点,看你是否需要存储过程。

    优点:

    1、存储过程允许标准组件式编程(模块化设计),可重复使用,易于维护:创建时进行编译,以后执行时不需要重新编译;而且数据库专业人员可随时对存储过程进行修改,但对应用程序源代码毫无影响。因为应用程序源代码只包含存储过程的调用语句,从而极大地提高了程序的可移植性。导出SQL执行脚本时,可以导出存储过程,包括函数。

    2、存储过程能够实现快速的执行速度:

    2、减少网络流量。调用时,只要传参存储过程名称和数就可以了,降低网络数据量。

    3、安全性。防止SQL注入,设定用户使用权限。

    缺点:

    1、存储过程能够实现业务逻辑,这个是它的一个优点,但是会导致定位问题困难。自己就曾经苦恼于存储过程的执行报错,问题分析,一层一层剥离,或者加print,看执行到哪一步,定位问题。

    2、违反面向对象规则,面对复杂的业务逻辑,过程化的处理会很吃力。大量使用加重了数据库的负担,因为SQL擅长的是数据查询而并非业务逻辑处理。自己刚开始接触存储过程时就误入了这样的雷区,好多判断,计算放到存储过程中计算;导致数据库操作执行速度慢。

    相关网页链接:sql存储过程完全教程

    存储过程到底有什么用

  • 相关阅读:
    tyvj[1087]sumsets
    tyvj[1089]smrtfun
    [bzoj3289]Mato的文件管理
    luogu[2093]零件分组
    luogu[1135]奇怪的电梯
    codevs[1300]文件排版
    luogu[1140]相似基因
    动态规划练习题 胖男孩
    动态规划练习题 汇率
    vijos[1355]车队过桥问题
  • 原文地址:https://www.cnblogs.com/meng9527/p/9056584.html
Copyright © 2020-2023  润新知