Mysql:存储过程

本人工作两年了,连存储过程都不知道是啥,只知道这东西阿里规范是不提倡用的,就没管他了

重新回顾了下Mysql,到存储过程这就略微看下,不打算细学,理解下概念和为啥不用就可以了

概念

存储过程可以理解为由复杂逻辑构成的多个SQL(有if else等)的函数,只要调用此函数,就可以将内的有一定业务逻辑的多个SQL执行一遍。

作用

刚才也说了存储过程是对多个复杂SQL的封装,方便客户端调用,也可在Mysql端直接调用使用。

但为啥开发人员使用存储过程很少呢?

  1. 存储过程的逻辑,完全可以放到客户端来做。比如Java来对Mysql进行业务逻辑
  2. 存储过程调试和排查不方便
  3. 移植性差。mysql写的存储过程,放到oracle就运行不了,得重新编写。但在客户端写逻辑的话就不一样了,如果客户端使用hibernate,在代码不变的情况下可移植数据库。
  4. 不适合高并发场景。高并发场景对数据库的压力都很大,存储过程本身由数据库全权完成的,这样一来压力就更大了
  5. 数据库刷数据时通常是简单的SQL,不需要if else判断
posted @ 2023-05-29 16:42  爱编程DE文兄  阅读(26)  评论(0)    收藏  举报