• ----:)欢迎访问源码网(:----
    • 首页
    • 博客
    • 学院
    • 下载
    • 论坛
    • 影视
    • 发布源码
    • RSS
    • ITPig
    • 笑话网
    • 百家姓
    • 繁體中文

源码网 - 中国第一源码门户
选择镜像:网通镜像 - 电信主站
  • 首 页
  • 新闻动态
  • 网站运营
  • 网页制作
  • WEB开发
  • 编程开发
  • 图像媒体
  • 操作系统
  • 数据库
  • 服务器
热门搜索 优化 SEO 故事 cms IIS7 MySQL 个人 AdSense 主题推广 | 文章搜索: 高级搜索
会员登录/控制面版您的位置: 学院首页 >> 数据库 >> MySQL >> 详细内容
 

推荐文章

  • 《MySQL管理员指南》之一----MySQL安全性指南
  • 实例讲解MYSQL数据库的查询优化技术
  • MySQL查询优化技术讲座
 
 

热点文章

  • 支持中文的MySQL 5.1+ 全文检索分词插件
  • MySQL数据导入导出方法与工具mysqlimport
  • 《MySQL管理员指南》之一----MySQL安全性指南
  • MySql管理的一点心得&MYSQL命令行模式
  • 修改MySQL的默认密码
  • 使用 SQL Server 2005中的 CLR 集成
  • 使用MySQL全文检索
  • Microsoft SQL Server 2005 中的 XML 支持
  • 简介Mysql中的临时表使用方法
  • MySQL查询优化系列讲座之查询优化器
  • 使用Excel分析MySQL数据
  • MySQL的常见错误的解决方法(英文)
 
 

相关文章

  • WINXP下安装IIS+PHP5+MySQL5
  • MySQL5安装详细介绍(适用win平台)
  • MySQL5新特点(触发器)
  • MySQL5新特点(视图)
  • 如何创建MySQL5的视图
  • MySQL5新语句declare的用法
  • MySQL5的异常处理
  • MySQL5新特性简介
  • MySQL5触发器教程
 
 

百度搜索

 
 

MySQL5新特点(存储过程)

  • 阅览次数:
  • 文章来源: cp整理
  • 原文作者: 不详
  • 整理日期: 2007-04-08
  • 发表评论
  • 字体大小:
  • 小
  • 中
  • 大

支持存储过程是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数据字典来实现。

上一篇:PHP使用zlib扩展实现页面GZIP压缩输出
下一篇:构建支持Master/Slave读写分离的数据库操作类
  • 网友评论:
  • 查看所有评论
  • 我要发表评论
您的网名:
留言主题:
你要发表的内容:

 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 发布软件 | 帮助中心 | 源码论坛

Copyright © 2005-2007 CodePub.Com  程序支持:木翼  滇ICP备05005971号