Mysql:存储过程
本人工作两年了,连存储过程都不知道是啥,只知道这东西阿里规范是不提倡用的,就没管他了
重新回顾了下Mysql,到存储过程这就略微看下,不打算细学,理解下概念和为啥不用就可以了
概念
存储过程可以理解为由复杂逻辑构成的多个SQL(有if else等)的函数,只要调用此函数,就可以将内的有一定业务逻辑的多个SQL执行一遍。
作用
刚才也说了存储过程是对多个复杂SQL的封装,方便客户端调用,也可在Mysql端直接调用使用。
但为啥开发人员使用存储过程很少呢?
- 存储过程的逻辑,完全可以放到客户端来做。比如Java来对Mysql进行业务逻辑
- 存储过程调试和排查不方便
- 移植性差。mysql写的存储过程,放到oracle就运行不了,得重新编写。但在客户端写逻辑的话就不一样了,如果客户端使用hibernate,在代码不变的情况下可移植数据库。
- 不适合高并发场景。高并发场景对数据库的压力都很大,存储过程本身由数据库全权完成的,这样一来压力就更大了
- 数据库刷数据时通常是简单的SQL,不需要if else判断
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2020-05-29 <context:annotation-config/>,<context:component-scan>,<mvc:annotation-driven/>,<tx:annotation-driven/>简单说明
2020-05-29 classpath