SQL_CALC_FOUND_ROWS / select FOUND_ROWS()是否受竞争条件影响?

时间:2019-07-17 15:02:07

标签: mysql amazon-rds-aurora sql-calc-found-rows

根据此答案:here

  

使用SQL_CALC_FOUND_ROWS不受比赛条件的限制。的       是SELECT查询的结果,但不是FOUND_ROWS()的结果。       请勿混淆。

但是从我执行的所有查询中来看,这都取决于比赛条件,并且每次我使用SQL_CALC_FOUND_ROWS时,由于某些原因,我从{{1}返回select found_rows() as rows

如果您有关于此主题的更多信息,请告诉我。

使用-> Mysql 5.6(Aurora RDS)

1 个答案:

答案 0 :(得分:1)

Aurora不是MySQL。

Amazon已从存储引擎中剥离了许多代码和功能,但尚未禁用相应的功能或状态变量或配置变量。

MySQL用户熟悉的一堆功能仍然可以在Aurora上使用,但没有作用。就像那些投币式小车之一的方向盘一样。

enter image description here

Aurora没有提供完整的文档,说明哪些功能仍在起作用,哪些功能已“断开”。

对于SQL_CALC_FOUND_ROWS,它可能仍然有效,具体取决于您的Aurora版本。我在他们的发行说明中找到了对它的引用:

https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Updates.20170515.html

  

修复了Aurora MySQL 1.11版中引入的回归,该回归中使用SQL_CALC_FOUND_ROWS选项并调用FOUND_ROWS()函数时,查询可能返回错误的结果。

您是否正在使用受此错误影响的Aurora实例,或者是否该错误已在您使用的版本中再次回归?

您需要仔细检查可用的Aurora信息,如果找不到所需的信息,请联系AWS支持。

并且不要假设在MySQL中工作的东西在Aurora中会以相同的方式工作。它们实际上是不同的软件产品。 MySQL是开源的,Aurora不是。

相关问题