我正要写一个 CREATE FUNCTIONmysql 我想知道,如果 CREATE TEMPORARY TABLE 计入旗帜 MODIFIES SQL DATA. 。功能 不修改任何永久表, ,只是为了优化目的而创建的临时表。我应该使用标志吗 MODIFIES SQL DATA 或仅 READS SQL DATA?什么是真正的 益处 使用 MODIFIES SQL DATA 或者 READS SQL DATA 无论如何,旗帜?

有帮助吗?

解决方案

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

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top