gpt4 book ai didi

mysql - MySQL 中的 DETERMINISTIC 和 NON-DETERMINISTIC 函数

转载 作者:行者123 更新时间:2023-11-28 23:13:00 24 4
gpt4 key购买 nike

我对确定性函数的理解是:

always produces the same result for the same input parameters

根据我的理解,下面的函数是非确定性函数

CREATE FUNCTION foo (val INT) READS SQL DATA
BEGIN
DECLARE retval INT;
SET retval = (SELECT COUNT(*) FROM table_1 WHERE field_1 = val);
RETURN retval;
END;

如果我不在函数中使用 Deterministic 或 Nondeterministic 关键字,它会降低性能还是执行计划所必需的。

最佳答案

当您声明一个函数是确定性的时,查询规划器知道它可以利用该函数的缓存结果。它可能会加快速度。几乎没有在表中查找的函数是确定性的。

如果您不确定您的函数是否是确定性的,它很可能不是。

关于mysql - MySQL 中的 DETERMINISTIC 和 NON-DETERMINISTIC 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45118359/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com