云栖问答

找不到答案?去提问题

2016-08-18 21:06:16

把大量业务逻辑写在存储过程是否可取?


来源: [直播] SQL Server优化案例分享

4个回答

-3

石沫 已采纳

我的工作经历告诉:

   第一段经历,A公司使用大量的存储过程,业务也在存储过程实现,系统相对简单,但是带来的问题是可扩展性不强,解耦非常困难,大部分开发都来维护存储过程。当系统压力过大,业务拆分就需要解耦,相当地麻烦
  另外一个B公司,开始也是使用大量的存储过程,由于公司业务的发展,系统无法承担压力,因此就需要拆分,因此实际后来系统就全部重新设计了一遍,将存储过程全部移除,业务逻辑放到程序逻辑,在分布式部署和系统解耦方面都非常的方便。
 性能方面,分布式部署首先从架构上解决了很大一块性能问题,再从数据库角度调优也并无难度,关键在于你是否能够愿意去做。性能问题一定能够解决的。我个人现在更偏重不要使用存储过程,让数据库承担数据存取功能,程序承担业务功能。

memorysevencat 回复

业务场景不一样,解答的不好。

评论
0

nothingfinal

写在业务层,不用写在存储过程里

0

itfarmer

当然可以了

0

苍鹫2018

抽象的,通用的业务层级,可以使用比较通用的存储过程,但是个性化的业务逻辑还是放在程序逻辑里面比较好,对于耦合度降低和重构都会比较好。

1
GO
1716
浏览
0
收藏
邀请他人回答