MySQL中文参考手册---15 为MySQL增加新过程
在MySQL中,你可以定义一个用C++写地过程,它能在查询被送到客户前存取和修改查询中的数据。修改可一行一行地或在GROUP BY
层次上进行。
我们已经在MySQL3.23中创建了一个过程例子来显示它能做什么。
15.1 analyse过程
analyse([max elements,[max memory]])
这个过程定义在“sql/sql_analyse.cc”,它检验来自你的查询的结果并返回结果的分析。
max elements
(缺省256)是analyse
将注意的每列不同值的最大数量。这被analyse
用来检查最佳的列类型是否应该是ENUM
类型。max memory
(缺省8192)是在analyse
尝试寻找所有不同值的时候应该分配给每列的最大内存量。
SELECT ... FROM ... WHERE ... PROCEDURE ANALYSE([max elements,[max memory]])
15.2 编写一个过程
暂时,对此的唯一文档是源代码。:(
你可以检验下列文件找到关于过程的所有信息:
- “sql/sql_analyse.cc”
- “sql/procedure.h”
- “sql/procedure.cc”
- “sql/sql_select.cc”