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

本文详细阐述了存储过程的优点和缺点。优点包括组件式编程、快速执行速度和提高安全性等;缺点则涉及问题定位难度增加及违反面向对象原则等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

优点:

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

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

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

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

缺点:

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

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

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

存储过程到底有什么用

转载于:https://www.cnblogs.com/meng9527/p/9056584.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值