存储过程真的很难么?

2019-06-30 15:48:39 +08:00
 v2overflow

新领导要求不要用存储过程,说因为存储过程太复杂,后续的人不好接手... 要求所有数据的处理都读出来用 java 程序处理,比如复制一张表:先 select 到对象中,再把这个对象 insert 到目标表...和他说 CTAS,他说太复杂,和他说效率,他说可以加机器...

如果说过于依赖存储过程会对后续数据库迁移有影响我觉得是有道理的,但他貌似根本没想到这一层,而且既然用数据库了,不能用 SQL 实在不能理解

14552 次点击
所在节点    程序员
126 条回复
lannoooW
2019-07-01 15:58:40 +08:00
第一个月:公司决定要把 MySQL 数据库全部换成 Oracle 啦!所有的存储过程在 Oracle 中全重写一遍吼;
第二个月:公司决定把 Oracle 换成 PG 啦!所有的存储过程在 PG 中全重写一遍;
etc:、、、
而用程序迁移数据的话基本上支持换个驱动的区别┑( ̄Д  ̄)┍
aloyuu
2019-07-01 16:11:33 +08:00
屎一样的存储过程
lihongjie0209
2019-07-01 16:42:59 +08:00
@hhhzccc 我没说没有, 我只是说能做到哪一步, 线程 dump, 断点调试, 日志这些最简单的功能能用的有多少
wenzhoou
2019-07-01 16:55:15 +08:00
@yulitian888 概率小看相对什么而言。你碰到了就是 00%。另外传统企业里面的系统,系统升级伴随着数据库切换也是很常见的。
saulshao
2019-07-01 16:57:09 +08:00
存储过程主要的问题不是难写,而是难以理解和维护。
如果假设一个软件是由一个头脑清醒的人一直编写和维护,在整个软件的生命周期内理论上存储过程其实更简单。
如果所有的软件都是基于定制开发的,存储过程其实不算是个坏的方案。但是现在大家不是都要搞产品化吗?
正如前面网友的距离,换个数据库,所有的存储过程基本都要重写一遍。并且更严重的问题是重写之后你要搞单元测试还很费劲。
l00t
2019-07-03 09:36:13 +08:00
@lannoooW #121 实际中换程序语言的频率都比换数据库的频率高。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/578730

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX