5.0之后才开始拥有存储过程
存储过程的优点:
1. 提升性能, 一次编译,存储在MYSQL服务器,在以后调用可以只是写参, 减少传输压力. MySQL的存储过程实现略微不同, 只是在每一个connection缓存了存储过程
2. 降低传输需求, 调用只需要参数.
3. 可重用性, 如果多个App对一个存储过程都有需求, 就可以直接调用存储过程, 没有必要自己再去编写一次程序函数.
4. 安全的, 管理员可以授予适当的权限给用户, 而客户端程序员不需要知晓底层的表.
存储过程的缺点:
- 如果使用过多的存储过程, 导致服务器内存消耗增大; 同时存储过程存在很多的逻辑计算, 调用存储过程增多, 服务器的逻辑计算量增加,而服务器并不擅长逻辑计算.
- 存储过程不是为了复杂而灵活的业务逻辑而设计.
- 难以调试, 很多数据库不支持调试存储过程, 比如MySQL.
- 存储过程不易于开发和保持.