定义:
存储过程是由sql和判断语句组成,存储于数据库,并且是一个过程
特点
优点
运行速度快,
存储过程与写在java中的sql
写在Java中的sql是如何操作数据库的呢?
首先是要编译sql语句,然后是将sql发送到mysql服务器,这个过程是要消耗网络流量的同时,也带有时浩性。然后,每个人都可以操作该sql语句,
存储过程的优点是
- 不需要重复的编译,相对而已,执行速度更快
- 减少网络发送速率,(不需要冲Java中发送信息
- 在写存储过程的时候是有设置权限的过程,相对而言更加的安全
缺点
存储与不同的数据库中,只针对当前的数据库类型有用,当更换数据库时,则无法使用该存储结构
因为存储过程是sql与判断语句的集合,组成的一个过程,sql 是一种面向过程的语言
编写困难,无法重用
sql语句一般在Java中与mybatis使用,mybatis有缓存,并且在集群布置的时候也没有问题,比如说,在新增的时候,只是通过nginx选择其中一个执行,但是
所用说
- 不行复杂
- 不可重用
- 没有缓存,如果使用数据库的全局临时表会增大数据库的压力等
- 无法进行集群,数据库的水平切割/垂直切割
与sql的不同点
已经
例子
create procedure p_name()
begin
select * from user;
end;