为了搞明白为什么mysql的存储过程是高效的,我们需要理解mysql的执行流程是什么,当输入sql语句之后,mysql会先进行sql语句语法正确性检查,然后再进行编译,然后才执行,最后把结果返回。如下图所示:
普通sql语句经过mysql的引擎进行语法分析和编译之后才会执行,存储过程在第一次运行的时候也是需要语法分析和编译,但是后面再调用该存储过程不再需要语法分析和编译,这样就大大提高了sql的执行效率。
什么是存储过程?
存储过程是sql语句和控制语句的预编译集合,以一个名称存储并作为一个单元处理。
存储过程的优点:
1 增强了sql语句的功能和灵活性
2 实现较快的执行速度
3 减少了网络流量
创建存储过程
CREATE 用户 PROCEDURE 存储过程名称(参数1,参数2,...)
过程体
参数的类型有三种:IN OUT INOUT
过程体:1 过程体由任意的合法的sql语句组成
时间: 2024-10-12 10:10:37