文章目录
一、存储过程
1.1 存储过程介绍
存储过程:
将能够完成特定功能的SQL指令进行封装(SQL指令集),编译之后存储在数据库服务器上,并为其命名,客户端可以通过直接调用SQL指令集,获取执行结果
存储过程解决的问题:
- 如果有需要多次执行的SQL,每次执行都需要通过连接传递到MySQL服务器,并且需要经过编译和执行后,再返回执行结果。重复且浪费资源
- 如果需要连续执行多个SQL指令,并且第二个SQL指令需要使用第一个SQL执行的结果集作为参数。
存储过程优点:
- SQL指令无需客户端编写、通过网络传输,可以节省网络开销,同时避免SQL指令在传输过程中被恶意篡改,保证安全性;
- 存储过程经过编译创建并保存在数据库服务器中,执行过程无需编译,对SQL指令的执行过程提升了性能;
- 存储过程中多个SQL指令之间存在逻辑关系,支持流程控制语句(分支、循环),可以实现更为复杂的业务逻辑处理;
存储过程的缺点:
- 存储过程是根据不同数据库引擎进行编译、创建并存储在数据库中。如果需要不同类型数据库迁移,需要对数据库存储过程进行重新编写。
- 存储过程受限与数据库产品,如果需要高性能的优化会成为一个问题;
- 在互联网项目中,如果需要数据库高并发(连接)访问,