我有一个大型 MySQL Web 应用程序,它使用单个用户进行所有数据库查询。我们有多个数据库运行主从复制设置。
我的问题是:我们使用 SQL_CALC_FOUND 行来获取从查询返回的记录数,就好像查询是在没有 LIMIT 子句的情况下运行的一样;我们这样做是为了在我们的前端进行分页。我担心的是,如果 Web 应用程序的两个用户登录并同时运行两个查询(请记住,每个用户都使用相同的数据库用户帐户来运行查询),当我们查询找到的行数时:
SELECT FOUND() ROWS AS total
返回的数字来自与第一个查询同时运行的不同查询的可能性可能不为零。这是一种可能性吗?上面的查询是否会返回不准确的数字,或者是否存在某种故障安全机制?
mysql ×1