MySQL高级存储过程

学习目标:存储过程

了解存储过程的优缺点
熟练掌握存储过程的基本语法
掌握存储过程的管理


学习内容:

1、存储过程简介 为什么要用存储过程? 大多数 SQL 语句都是针对一个或多个表的单条语句。并非所有的操作都那么简单。经常会有一个完整的操作 需要多条语句才能完成。存储过程简单来说,就是为以后的使用而保存的一条或多条 MySQL 语句的集合。可将 其视为批处理文件。虽然他们的作用不仅限于批处理。 存储过程思想上很简单,就是数据库 SQL 语言层面的代码封装与重用。
存储过程的优点
1) 通过把处理封装在容易使用的单元中,简化复杂的操作; 
2) 简化对变动的管理。如果表名、列名或业务逻辑有变化。只需要更改存储过程的代码,使用它的人员不 会改自己的代码; 
3) 通常存储过程有助于提高应用程序的性能。当创建的存储过程被编译之后,就存储在数据库中。 但是, MySQL 实现的存储过程略有不同。MySQL 存储过程按需编译。在编译存储过程之后,MySQL 将其放入 缓存中。MySQL 为每个连接维护自己的存储过程高速缓存。如果应用程序在单个连接中多次使用存储 过程,则使用编译版本,否则存储过程的工作方式类似于查询; 
4) 存储过程有助于减少应用程序和数据库服务器之间的流量,因为应用程序不必发送多个冗长的 SQL 语 句,而只用发送存储过程的名称和参数;
 5) 存储的程序对任何应用程序都是可重用的和透明的。存储过程将数据库接口暴露给所有应用程序,以便 开发人员不必开发存储过程中已支持的功能; 
 6) 存储的程序是安全的。数据库管理员可以向访问数据库中存储过程的应用程序授予适当的权限,而不向 基础数据库表提供任何权限。
 存储过程的缺点
 1) 如果使用大量存储过程,那么使用这些存储过程的每个连接的内存使用量将会大大增加。 此外,如果 您在存储过程中过度使用大量逻辑操作,则 CPU 使用率也会增加,因为 MySQL 数据库最初的设计侧重 于高效的查询,不利于逻辑运算; 
 2) 存储过程的构造使得开发具有复杂业务逻辑的存储过程变得更加困难; 
 3) 很难调试存储过程。只有少数数据库管理系统允许您调试存储过程。不幸的是,MySQL 不提供调试存 储过程的功能; 
 4) 开发和维护存储过程并不容易。开发和维护存储过程通常需要一个不是所有应用程序开发人员拥有的专 业技能。这可能会导致应用程序开发和维护阶段的问题。

2、 MySQL 中的存储过程
创建与调用过程

-- 创建存储过程 
	create procedure mypro(in a int,in b int,out sum int)
	begin
	 	set sum = a+b;
	end;
call mypro(1,2,
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值