个人认为存储过程挺好用的,为什么有的公司不建议使用?是存在什么问题吗?
每个公司有每个公司的内情。
如果你们公司,专注数据库开发人员的比较多,对性能要求比较高,开发规范(注释,文档,功能划分等),我觉得没问题。
解释一下:
1.第一条指人员互备,你走了,其他人能够顶得上
2.通常使用存储过程,是为了性能,当然还有遗留系统等其他情况。存储过程,性能通常比 拿其他语言再包一层要高,至少单机方面,网络开销就少很多。如果是多机,借鉴一下MR的思路。
3.存储过程,通常不好维护的原因是,写的太长。面向过程编程,也得拆分过程,理解这一点就没啥大问题了,用其他方式如果不规范也会面临同样的维护难问题。
4.至于提到的切库,除了纯OOM,否则都会有,我觉得这不是核心点。再说切库的动作真是太大了,极不常见。
可读性差一些
可读性是有点差
现在的好用,以后维护的噩梦
维护方便
写得时候感觉挺好的,最近改需求,已经不想看之前写的啦
主要的是为了跨数据库吧,存在切换数据库的可能
有很多程序员对数据库知识掌握不熟练。另外代码调试方便,存储过程调试相对麻烦
建议不要用存储过程
存储过程写起来是真爽,切库起来也是真“爽”。
我的项目有几百个存储过程。缺点调试不方便,不同数据库的迁移和数据库间差异。