存储过程真的是洪水猛兽吗?

1 天前
 liuidetmks

很多开发者一提到 SQL 就“谈此色变”,觉得难以调试、难以定位 bug
最后就是一句话,就是这个东西碰不得,是邪教


存储过程这个东西存在这么久,不可能一无是处吧

有没有可能,像 TypeScript 转译为 JavaScript 一样,有一种高级语言可以:

11606 次点击
所在节点    数据库
117 条回复
ala2008
1 天前
那存储过程要代码评审吗
liuidetmks
1 天前
@zbatman 😂,看来手势返回的那个帖子冒犯到你了
raptor
1 天前
存储过程是历史遗迹,曾经很有用,但现在只剩缺点了……
tohuer00
1 天前
优点非常诱人,直接消除了网络 io ;缺点也足够致命,复杂场景那就是没法维护,不知道以后是否可以用 ai 来协助。要用好还真不是三言两语能说清楚的。

有些人扯 orm 是什么情况?这特么是同一个应用场景的东西?
min
1 天前
主要看是多少行的存储过程

现在有 ai 了,维护起来应该会比以前简单一些
wupher
1 天前
旧时代的 CS 平台经常是这么玩的。

主要逻辑以存储过程存在于 DB 中。Client 主要用于界面展示,数据计算及各种逻辑大都使用存储过程。

优点缺点都是有的,有维护开发的人可以说道很多,现在使用这种架构的仍然不少。

到 BS 时代后,一般改用代码,也是 ORM 框架了。

你写写就知道了,一堆 CS 相关产品的公司仍然在用,去试试就好。
drafter
1 天前
可能受 DDD 影响,觉得存储过程这种东西太依赖对应的数据库了,而数据库一般都是可替换的,涉及到核心业务就非常危险了,像你说的,如果未来与一种高级语言支持各类数据库的存储过程,用这个高级语言去编写核心业务,这个是可以接受的。
wysnxzm
1 天前
只要不用我维护那它就最棒
CoderGeek
1 天前
一旦换个 db 存储模式 直接爆炸 代码都不知道咋写 😄
mappple
1 天前
银行国产化了之后也不太用了
liyafe1997
1 天前
脱离具体业务谈这个就是耍流氓
cubecube
1 天前
如果是单体应用,未来扩展性也基本上一个 db 能抗住,那么存储过程其实是利器。写写注释即可。
niubiman
1 天前
@fffq 还有维护成本,这可比学习成本带来的成本高太多了
nthin0
1 天前
接手其他人写的存储过程做维护和加功能简直酸爽,天天骂娘
JaysonHope
1 天前
@idragonet 我接触的 mes 系统,用存储过程的还是少,有的公司真的如楼主所言,谈此色变,命令禁止。我曾经为了不写存储过程,写查询语句写了 200 多行,关联 10 多张表。
salmon5
1 天前
这个取决于出了问题谁负责,如果谁写的谁负责,那就 OK
xiaomushen
1 天前
@salmon5 软件行业,又不像建筑行业那样,出了问题终身刑责。写存储过程的人离职了,你怎么办?
xiaomushen
1 天前
@tohuer00 如果学建筑业那样,终身追责,事故入刑,那难维护的问题,应该会好一些。哈哈哈
salmon5
1 天前
@xiaomushen #97 那存储过程是个偷懒的方案,应该禁止使用
tongjiann
1 天前
我们公司现在在翻新之前的一个系统,之前是基于.NET 开发的,里面的核心逻辑全在存储过程里面,我每天看的都想辞职了

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

https://yangjunhui.monster/t/1130319

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

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

© 2021 V2EX