119011090 发表于 2006-10-12 14:12:51

15 为MySQL增加新过程

在MySQL中,你可以定义一个用C++写地过程,它能在查询被送到客户前存取和修改查询中的数据。修改可一行一行地或在GROUP BY层次上进行。

我们已经在MySQL3.23中创建了一个过程例子来显示它能做什么。

15.1 analyse过程
analyse(])

这个过程定义在“sql/sql_analyse.cc”,它检验来自你的查询的结果并返回结果的分析。

max elements(缺省256)是analyse将注意的每列不同值的最大数量。这被analyse用来检查最佳的列类型是否应该是ENUM类型。
max memory(缺省8192)是在analyse尝试寻找所有不同值的时候应该分配给每列的最大内存量。
SELECT ... FROM ... WHERE ... PROCEDURE ANALYSE(])

15.2 编写一个过程
暂时,对此的唯一文档是源代码。:(

你可以检验下列文件找到关于过程的所有信息:

“sql/sql_analyse.cc”
“sql/procedure.h”
“sql/procedure.cc”
“sql/sql_select.cc”
页: [1]
查看完整版本: 15 为MySQL增加新过程