我说说下自己的经验吧,很早就接触存储过程了,但是最近老板竟然要求所有业务都用存储过程,匪夷所思。

存储过程有它的优点:

(1) 执行速度比写在代码里速度快,这个不用说了

(2) 能实现一定程度松耦合,有些更新直接更新数据库即可,不用部署应用层

但缺陷也很明显

(1) 部署超级麻烦好嘛,都没有版本控制。不要说写sql文件放在git里,那个根本不可行。一个疏忽就很可能当前版本和数据库版本不一样,因为你的数据源不是去对比数据库的

(2) 增加中间件麻烦,中间件很多不支持

(3) 如果你代码和存储过程都需要修改怎么办,怎么平滑启动?当你修改存储过程,然后重载代码中间的这几秒中,很可能有人访问,服务就报500错误了

(4) 以后要拆库拆表了,怎么办。当然这种概率很小,毕竟项目黄的概率还是很大的

(5) 调试麻烦,特别是生成,难道你把所有数据库日志都记录下来吗?

所以如果你的业务经常变动,或者业务逻辑很复杂,要更新的内容很多,请不要用存储过程,告诉你全都是坑。那一点点性能优势不值得,你咋知道你的项目能有千万并发?再说了,那时候还会轮到你用存储过程吗?

mysql实际项目中使用多长时间_存储过程在实际项目中用的多吗?相关推荐

  1. mysql实际项目中使用多长时间_mysql - 存储过程在实际项目中用的多吗?

    怪我咯2017-04-17 16:19:5812楼 一.存储过程是非常有用滴.例如,在常见的登录场景中,需要记录用户的登入记录,你可以使用编程语言来实现: db.connect( "db_h ...

  2. IntelliJ IDEA 如何知道项目中的模块数据_如何从项目源中选择模块加入当前项目中(添加模块)_如何移除项目中的模块(移除模块/删除模块)

    文章目录 IDEA 如何获取项目的模块数据 从项目源中选择模块加入当前项目中 如何移除项目中的模块 方式一,选择模块的根目录(Content Root),鼠标右键 Remove 方式二,打开[项目结构 ...

  3. cookie的细节——1.一次可不可以发送多个cookie?2. cookie在浏览器中保存多长时间?3. cookie能不能存中文?4. cookie共享问题?

    cookie的细节 1. 一次可不可以发送多个cookie? * 可以         * 可以创建多个Cookie对象,使用response调用多次addCookie方法发送cookie即可. 2. ...

  4. 拷贝文件产生副本_从Windows 10中删除文件后,文件的副本在文件历史记录中保留多长时间?...

    拷贝文件产生副本 If you have decided to make use of Windows 10's file history capabilities, how long will a ...

  5. datetimepicker 默认时间_Django项目中如何使用日期时间选择器DateTimePicker

    如果你的模型中含有datetime类型的字段,表单中需要用户输入日期和时间,那么你如何保证不同用户输入的时间都遵循一定的格式(DD/MM/YYYY 或者YYYY-MM-DD)是个必须要考虑的问题.一个 ...

  6. 完成一个预测建模项目一般需要多长时间?

    为了回答这个问题,我们先来了解一下建模的流程,通常一个完整的数据挖掘项目包含以下流程(1)业务理解.(2)数据理解.(3)数据准备.(4)数据预处理和建模.(5)模型评估.(6)模型部署应用.这个流程 ...

  7. python精通多长时间_学Python需要多久能学会?精通Python需要多长时间?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 严格意思上的说,Python其实是一个脚本语言,编程语言多种多样,但是却有开源和闭源之分,Python就是一种开放核心源代码编程语言,其开发代码的效率非常 ...

  8. 字节跳动offer流程多长时间_字节跳动-运营实习生-面经实录(已Offer??)

    一.岗位 [职位] 运营实习生(社群.用研) [类型] 日常实习 [地点] 上海 [JD] -职位描述- 参与公司教育类APP的核心用户运营工作: 通过社群及内容的形式服务好核心用户群体,提高用户口碑 ...

  9. 项目中最困难的部分_微服务最难的部分是什么? 您的资料

    项目中最困难的部分 在本文中,我将探讨创建和开发微服务时最棘手的问题:您的数据. 使用Spring Boot / Dropwizard / Docker并不意味着您在做微服务. 仔细查看您的域和数据将 ...

最新文章

  1. GP通过外部表装载数据时遇到ERROR:extra data after last expected column解决方法
  2. 卷积神经网络之 - Alexnet
  3. 令牌验证 token
  4. Hibernate与MyBatis的区别
  5. html数据插入到数据库,将数据插入到数据库中:text和html格式
  6. sersync+rsync多实例网站数据同步
  7. 系统还原点设置被系统管理员禁用
  8. JS模块化CommonJS、ES6模块化 、AMD、CMD知识总结
  9. 复利现值系数怎么用计算机计算,复利现值系数计算方法是怎样的?
  10. uniapp实现微信小程序登录注册功能
  11. 物联网设备数据流转之数据如何导出:Excel文件
  12. H5页面支持拍照选择图片
  13. java后台批量下载文件压缩ZIP
  14. 教你如何修改铁威马NAS的用户密码
  15. wx-extend/validate库的使用
  16. 开发经理(技术型)需要做的第一件事情
  17. Web文件管理系统!免费使用版
  18. 通过 $ git commit --amend 修改 commit 的 message
  19. tensorboard可视化 网址打不开
  20. html css 网页代码案例,案例1-HTML使用css+div设计简单网页(62页)-原创力文档

热门文章

  1. 大数据(生于2006,卒于2019)已死!
  2. 基于servletjspmysql的表格增删改查操作
  3. Python解释器和IPython
  4. 同步类的基础AbstractQueuedSynchronizer(AQS)
  5. 【一起去大厂系列】深入理解MySQL中where 1 = 1的用处
  6. 【讲解】1030 Travel Plan (30 分)【DFS】_41行代码Ac
  7. 【最详细】数据结构(C语言版 第2版)第七章课后习题答案 严蔚敏 等 编著
  8. 0-1背包问题 题目:国王和金矿问题 描述:有一个国家发现了max_n座金矿,参与挖矿工人的总数是max_people人。每座金矿的黄金储量不同为一维数组gold[],需要参与挖掘的工人数也不同为一维
  9. php sdk微信,GitHub - swayer/wechat-php-sdk: 微信公众平台 PHP SDK
  10. 主板usb模式启动快捷键大全