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

1 天前
 liuidetmks

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


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

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

10910 次点击
所在节点    数据库
114 条回复
lujiaxing
1 天前
@tanhui2333 这个不是开历史倒车. 是有些场景下只有存储过程合适. 在大并发高一致性高实时性的场景. 比如银行. 你不可能说这边支付完了过了好几秒余额才减掉吧.
Rickkkkkkk
1 天前
你都招不到会用这个东西的人。
idragonet
1 天前
我们 MES 都是存储过程,6-7K 个。 无所谓了,职场都有工具人。
frankies
1 天前
看行业的,比如银行、ERP 系统、财务管理系统这些,存储过程是大量使用的。而互联网行业,我认为如无必要坚决不使用存储过程。
xiaomushen
1 天前
你自己写的时候,绝对不会认为是洪水猛兽。
等接手的人维护修改时候,绝对会喷这是洪水猛兽

所以,是不是洪水猛兽,要看站在谁的角度
leonhao
1 天前
数据量大,业务逻辑复杂,存储过程非常好用
yangzzzzzz
1 天前
之前公司的架构师设计的前端直接掉存储过程,设想非常好,实际应用中 一个简单的见面掉几十上百个过程 ,前端人都麻了
ericguo
1 天前
到 2025 年为止,我还找不到一个编程语言,除了存储过程,能够在 0.5 秒内改变系统的逻辑,不用发布,不用测试,走任何流程,不留下任何记录,而且门槛极低。

如果你认为上面我说的全是优点,那显然应该用。
xiaomushen
1 天前
@ericguo 数据库可以开 Audit ,不可能不留任何记录
xiaomushen
1 天前
@yangzzzzzz 类似的行为艺术架构师,还是有想法的:核心人员无法被裁
imnpc
1 天前
没有专职 DBA ,不要用存储过程
lujiaxing
1 天前
@imnpc 不一定 好多 30 多岁的老开发, 对数据库的理解可能比 DBA 还深刻.
shangfabao
1 天前
你要是存储过程文档很详细,用就用了,前提有 DBA
QlanQ
23 小时 59 分钟前
以前 维护 ERP 的时候,就是前端用的那种 我都忘记叫什么了,就是前端直接调用数据库的存储过程
整个系统主要是依赖存储过程

维护、升级特别复杂,数据库绑定,绑定到版本,数据库如果语法有修改,存储过程都要重来

现在 接口系统,都是 分布式、数据业务分离,存储过程就不合适了
catamaran
23 小时 58 分钟前
存储过程的一个问题是 sql 没有普通的高级语言语法丰富,导致阅读书写代码要困难一些,然后 debug 比较困难,我知道 sql server 的 sp 是可以 debug 的,不知道 oracle 行不行,mysql 是不行的。
ymy3232
23 小时 26 分钟前
成本低,不用招专门的大数据开发,我们之前一天百亿条数据,用 8 个 mysql 来跑存储过程,成本比用数据湖低的多
Nanmi
23 小时 25 分钟前
曾经刚毕业的时候,在一家做银行软件的公司,那个时候用的也是存储过程,阅读起来极其费劲,维护特别困难,当然对于高手来说,也不是啥事儿,但是如果是对于初入职场的人来说,去维护一些边角料的功能你都会觉得很恶心🤢。

记得后面离职 1 年多的时候时候,这套核心系统终于被彻底重构了,存储过程的那部分逻辑全部用 java 重写了。
bbao
23 小时 23 分钟前
上一次看到这个词应该还是在 2009 年刚工作的时候~~~~
bbao
23 小时 22 分钟前
@lujiaxing 如果认识支付宝或者微信的同学,可以做一些咨询,看看他们用不用。
lambdaq
23 小时 20 分钟前
存储过程 不就是个 low code

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

https://yangjunhui.monster/t/1130319

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

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

© 2021 V2EX