MySQL5新特点(存储历程)[MySQL防范]
本文“MySQL5新特点(存储历程)[MySQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
支持存储历程是MySQL5中一个很重要的新增特点.固然有些用户不但愿将反映业务逻辑的流程通过存储历程封装在数据库中,但大大都的数据库管理人员还是非常喜好在数据库中能利用存储历程这一功效,因为存储历程有很多好处:
用户可以重用代码和更改掌握
-和将业务逻辑流程写入多个利用程序差别的是,用户只需求写 一次存储历程便可以立即利用很多利用程序来调用该历程,从而实现特定的业务逻辑流程.数据库管理员也可以通过尺度的管理函数来处理差别版本中的数据库资源,比方数据库构造 和安全权限等.
可以得到快速的性能
-管理员可以存储历程中利用循环构造来履行多个SQL语句,而之前利用程序每次只能履行一条SQL语句,效率明显得到提高,也可以把复杂的多个SQL语句写入一个存储历程,不太纯熟SQL语句的用户可以直接调用该存储历程,从而避免了在书写复杂SQL语 句时大概呈现的错误.
更简单的安全管理特点
-关于一个服务大量差别用户的复杂数据库来说,将数目宏大的数据对象的利用权限分配给差别用户是相当费时的,利用存储历程今后,便可以在历程级举行权限 分配的任务,比方,当用户的一个SQL查询语句需求拜候10张差别的表时,若不用存储历程, 就需求为该用户举行10次差别的表答应权限分配,而利用存储历程后只需求对含有该SQL查询 语句的存储历程分配一次答应权限便可以了.
削减了网络通信流量
-原先通过网络的多次调用,写入单个存储历程中放在服务器端后,举行一次存储历程调用便可以完成,从而削减了过量的网络通信流量.
很象DB2数据库,MySQL5中的存储历程也完好符合ANSI SQL 2003尺度,非常便利开辟人员和数据库管理员学习和利用,并且select查询语句的返回后果也很直观,无须专用的调用包和参考游标,这点近似于微软SQLserver和sybase数据库,下面是一个关于输出的例子:
mysql> delimiter // mysql> create procedure top_broker() -> select a.broker_id, -> a.broker_first_name, -> a.broker_last_n -> sum(broker_commission) total_commissions -> from broker a, -> client_transaction b -> where a.broker_id=b.broker_id -> group by a.broker_id, -> a.broker_first_name, -> a.broker_last_name -> order by 4 desc; -> // Query OK, 0 rows affected (0.00 sec) mysql> delimiter ; mysql> call top_broker();
为了处理尺度的查询输出,MySQL5的存储历程中支持了很多常见的开辟构造,比方:
输入/输出参数; 变量定义; 带EXIST查抄的循环; 逻辑条件判断(if,case等); 条件处理柄; 存储历程调用存储历程; 对事件处理类数据库表的"提交/撤消"功效支持; 数据定义语句等等.数据库开辟和管理人员可以通过create,alter,drop,grant来具体操作MySQL5中的存储历程, 除了得到元数据的特别存储历程,还可以通过以下办法来操作存储历程:
利用show procedure status函数; 查询mysql.proc内置表; 利用MySQL5的另一个新特点-information_schema数据字典来实现.以上是“MySQL5新特点(存储历程)[MySQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |