扩展 MySQL 5.7  /  第 6 章 向 MySQL 添加函数

第 6 章 向 MySQL 添加函数

可以通过三种方式向 MySQL 添加新功能:

笔记

可加载函数以前称为用户定义函数 (UDF)。该术语有点用词不当,因为用户定义也适用于使用 SQL 编写的存储函数和通过修改服务器源代码添加的本机函数。

每种创建编译函数的方法都有优点和缺点:

  • 添加本机功能需要修改源代码分发。添加可加载函数不会;它可以添加到二进制 MySQL 发行版中,而无需访问 MySQL 源代码。

  • 可加载函数包含在目标文件中,除了服务器本身之外,您还必须安装该文件。对于编译到服务器中的函数,这是不必要的。

  • 如果升级 MySQL 发行版,则可以继续使用以前安装的可加载函数,除非升级到可加载函数接口更改的更新 MySQL 版本。对于本机功能,您必须在每次升级时重复修改源代码。

无论使用何种方法添加函数,都可以像 ABS()或 等原生函数一样在 SQL 语句中调用SOUNDEX()

有关描述服务器如何解释对不同类型函数的引用的规则,请参阅 函数名称解析和解析

以下部分描述了可加载函数接口的特性,提供了编写可加载函数的说明,讨论了 MySQL 为防止可加载函数被滥用而采取的安全预防措施,并描述了如何添加本机 MySQL 函数。

例如说明如何编写可加载函数的源代码,请查看 sql/udf_example.ccMySQL 源代码分发中提供的文件。