关于现在为什么很多项目不建议使用存储过程

2022年4月27日19:59:15

 1,历史原因

最早我刚毕业的时候接触到一些零几年的项目的时候,发现多数数据库使用的是sqlserver和Oracle,存储过程使用是很普遍的,那个时候还不是面向互联网模式有很大的并发压力

我接触过的一些内部erp,hr等系统大量使用存储过程,特别是一些sqlserver的数据库项目,很多都是应用和数据库在一起,算是比较早的应用了

 

2,需要高水平的sql编程开发和调试经验

随着mysql的崛起,很多应用开始转向mysql,但是官方是没有直接提供调试工具,导致调试和修改困难,后面随着互联网兴起,并发压力开始出现,开始数据库和应用分离,多数

互联网应用需要短快平的开发开发模式,多数公司无法有专职的dba,都是开发兼职,如果需要找到较高的应用开发水平和sql编程水平,比较难找,工资也要的高,以及分布式的应用来抵抗流量并发

如果全部是使用存储过程,来处理业务逻辑,数据库压力会很大,当时mysql集群也不成熟,通常是使用mysql代理,但是当时mysql代理存在很多问题,mysql的sql编程的灵活性也一般,所以大量的应用开发

计算相关都写入代码,数据库只负责存储,大大减少数据库的压力

 

3,互联网应用流行

互联网在06 08年开始大流行,高并发开始成为每一个应用需要考虑的事情,数据库成为绝大多数应用的瓶颈,随着mysql的成熟,mysql的性能大增,但是还是无法支撑中大型数据库,数据库的角色开始单一

只负责单纯的存储,开始出现redis mencache等nosql的数据库的来大大缓查询数据的压力,避免大量数据直接访问到数据库层

 

历史造就习惯,当然现在sqlserver,Oracle并发处理能力非常好使用存储过程也不是什么大问题,但是还是建议尊重团队习惯为主,因为不是每个人的SQL编程能力都非常好,但是读代码能力是最起码的基础能力

posted on 2022-04-28 17:24  zh7314  阅读(1760)  评论(0编辑  收藏  举报