MySQL 存储过程是从 MySQL 5.0 开始增加的新功能。存储过程的优点有一箩筐。不过最主要的还是执行效率和SQL 代码封装。特别是 SQL 代码封装功能,如果没有存储过程,在外部程序访问数据库时(例如 PHP),要组织很多 SQL 语句。特别是业务逻辑复杂的时候,一大堆的 SQL 和条件夹杂...
分类:
数据库 时间:
2014-10-20 20:53:16
阅读次数:
241
一:参数类型 1.IN 只能读取参数并在函数内部更改有效,不能持久化到外部变量2.OUT 不能读取参数,可以在函数内部修改并保存到外部变量 3.INOUT 既能读取又能持久化二:基本格式mysql>DELIMITER// mysql>CREATEPROCEDUREproc1(OUTsint) ->B...
分类:
数据库 时间:
2014-10-19 15:34:03
阅读次数:
237
我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。当PHP遇到MySQL存储过程会是怎么样呢?...
分类:
数据库 时间:
2014-10-13 01:13:38
阅读次数:
360
MyISAM:默认的MySQL插件式存储引擎,它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。注意,通过更改 STORAGE_ENGINE 配置变量,能够方便地更改MySQL服务器的默认存储引擎。 InnoDB:用于事务处理应用程序,具有众多特性,包括ACID事务支持。 BDB:可替代...
分类:
数据库 时间:
2014-10-10 23:01:44
阅读次数:
217
如果你希望让你的网站或者 App 支持 Emoji,那么在初次设置 MySQL 时,有一些细节你需要知道。 Emoji Emoji 字符的特殊之处是,在存储时,需要用到 4 个字节。而 MySQL 中常见的 utf8 字符集的utf8_general_ci?这...
分类:
数据库 时间:
2014-10-09 15:55:28
阅读次数:
247
今天我一个朋友问我一个问题,通过showprocesslist看见一个%百分号,例:这种情况是由于执行存储过程造成的,示例如下:DELIMITER$$
USE`test`$$
DROPPROCEDUREIFEXISTS`test`$$
CREATEDEFINER=`admin`@`%`PROCEDURE`test`()
BEGIN
SELECTSLEEP(60);
END$$
DELIMITER;存..
分类:
数据库 时间:
2014-09-24 18:30:37
阅读次数:
207
编写出这些脚本的需求是把慢查日志写入数据库中,方便查看。
1. 由于默认的mysql.slow_log表使用的是csv数据引擎,不支持对数据进行索引,所以需要将其修改为MyISAM引擎,并对query_time字段进行索引以优化查寻效率。
2. 需要对所有的用户进行授权,让大家要可通过调用 pub_getSlowQuery( limit ) 存储过程获取一天的慢查记录数据。
3. 存储过程命名约定:priv_ 起头的为私有存储过程,不需要对用户授权,以pub_起头的存储过程对所有的会员进行授权,只允许运行,...
分类:
数据库 时间:
2014-09-19 13:54:25
阅读次数:
299
1.创建存储过程和函数...21.1创建存储过程...21.2创建存储函数...32.变量的使用...42.1定义变量...42.2为变量赋值...43.定义条件和处理程序...43.1定义条件...53.2定义处理程序...54.光标的使用...64.1声明光标...64.2打开光标...64.3使用光标...64.4关闭光标...75.流程控制的..
分类:
数据库 时间:
2014-09-19 12:15:36
阅读次数:
361