为什么生产环境不推荐使用存储过程?

  【代码操作数据】【存储过程操作数据】有一个共同的目的:有逻辑性地操作数据。

  根本问题是两者如何抉择,所以看一下两者各方面的优劣便知

  1. 是否都能够实现目的?

  是的

  2. 哪个性能高?

  简单来说,存储过程减少了网络开销,性能更高。

  3. 可维护性哪个好?

  存储过程对于开发人员而言,是额外的一个逻辑层面;对于运维人员而言,是额外的部署层面。而且通过存储过程进行数据操作,可能会遗漏代码中原本应该有的触发动作。逻辑维护在同一个层面更利于维护。

  4. 安全性哪个好?

  从功能角度出发:代码可调试性远高于存储过程,存储过程需要额外的权限才能在生产环境进行模拟调试。

  从性能压力出发:存储过程运行在数据库服务器层,一旦出现压力问题,整个数据库层级都受到影响;代码运行在业务服务器层,出现问题仅影响某段业务逻辑。

  SQL注入攻击:两者都可以防范。

  5. 哪个写起来方便?

  都需要调试测试的情况下,代码有更加成熟的编辑器,并且可以自定义日志输出,异常控制,相对来说更方便一些。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值