当前位置: 首页 > 文档资料 > MySQL 中文手册 >

27.3. 为MySQL添加新步骤

优质
小牛编辑
129浏览
2023-12-01
27.3.1. 步骤分析
27.3.2. 编写步骤

在MySQL中,你可以用C++定义一个步骤,在一个查询被发送到客户端之前访问和修改其中的数据。修改可以一行接一行地做,或者按照级别成组(GROUP)地做。

我们创建一个范例步骤来演示你可以做的。

此外,我们推荐你看一下mylua。通过它你可以用 LUA语言把运行时里的一个步骤加载到mysqld中。

27.3.1. 步骤分析

analyse([max_elements,[max_memory]])

这个步骤在sql/sql_analyse.cc定义,这个步骤检查你查询的结果,并且返回对此结果的一个分析:

  • max_elements (默认值 256) 是analyse注意到每列不同值的最高数目。analyse使用此 参数来检查是否最优化的列的类型是ENUM类型。

  • max_memory (默认值 8192) 是analyse在查找所有不同值时分配给每列的最大内存数。i

SELECT ... FROM ... WHERE ... PROCEDURE ANALYSE([max_elements,[max_memory]])

27.3.2. 编写步骤

当前来说,相关的文档只有源码。

检查下列文件可以获得关于步骤的所有信息:

  • sql/sql_analyse.cc

  • sql/procedure.h

  • sql/procedure.cc

  • sql/sql_select.cc

这是MySQL参考手册的翻译版本,关于MySQL参考手册,请访问dev.mysql.com。 原始参考手册为英文版,与英文版参考手册相比,本翻译版可能不是最新的。