MySQL-创建函数?修改 SQL 数据?

Ωme*_*ega 2 mysql sql syntax create-function

我即将CREATE FUNCTIONMySQL写一个,我想知道是否CREATE TEMPORARY TABLE计入 flag MODIFIES SQL DATA。函数不会修改任何永久表,只是修改临时表,它是为了优化目的而创建的。

我应该使用 flagMODIFIES SQL DATA还是仅使用READS SQL DATA?使用或标记的
真正好处是什么?MODIFIES SQL DATAREADS SQL DATA

Mch*_*chl 5

截至目前(MySQL 5.5),这些特性仅作为代码内文档。

来自http://dev.mysql.com/doc/refman/5.5/en/create-procedure.html

有几个特征提供了有关例程使用的数据性质的信息。在 MySQL 中,这些特性仅供参考。服务器不使用它们来限制例程将被允许执行的语句类型。

这与子句相反(NON)DETERMINISTIC,子句充当优化器是否可以缓存函数结果的提示。