Mysql NOW() 是确定性的吗
Is Mysql NOW() DETERMINISTIC
当您将 MySQL 函数标记为 DETERMINISTIC
时,文档显示
A routine is considered “deterministic” if it always produces the same result for the same input parameters, and “not deterministic” otherwise.
随着时间的推移是真的吗?如果在不同的客户端会话中调用,DETERMINISTIC
函数是否必须 return 相同的结果?或者在会话中的不同查询中?
换句话说,NOW()
会被认为是DETERMINISTIC
吗?
根据定义 NOW()
是不确定的。如果它是确定性的,它应该是一个常数,因为它需要 0 个参数。所以每次调用都会产生相同的结果。
NOW() 非常不确定,只是根据您给出的定义。确定性的要点是它允许基于假设的各种优化,如果您的结果取决于当前时间,这些假设将不成立。
有关示例讨论,请参阅 http://forums.mysql.com/read.php?98,406891,406895#msg-406895。
当您将 MySQL 函数标记为 DETERMINISTIC
时,文档显示
A routine is considered “deterministic” if it always produces the same result for the same input parameters, and “not deterministic” otherwise.
随着时间的推移是真的吗?如果在不同的客户端会话中调用,DETERMINISTIC
函数是否必须 return 相同的结果?或者在会话中的不同查询中?
换句话说,NOW()
会被认为是DETERMINISTIC
吗?
根据定义 NOW()
是不确定的。如果它是确定性的,它应该是一个常数,因为它需要 0 个参数。所以每次调用都会产生相同的结果。
NOW() 非常不确定,只是根据您给出的定义。确定性的要点是它允许基于假设的各种优化,如果您的结果取决于当前时间,这些假设将不成立。 有关示例讨论,请参阅 http://forums.mysql.com/read.php?98,406891,406895#msg-406895。