这个问题在这里已经有答案了:
为什么phpmyadmin结果中估计的行数非常不同(2个答案)
两年前关门了。
我对mysql中的行数感到困惑。phpmyadmin和count查询返回的总行数不同。
我的表结构是 InnoDB
.
Showing rows 0 - 24 (655537 total, Query took 0.1527 seconds.)
这是浏览表时的结果。
我的计数查询是
SELECT count(*) FROM `table_name`
这将作为 602030
这个问题在这里已经有答案了:
为什么phpmyadmin结果中估计的行数非常不同(2个答案)
两年前关门了。
我对mysql中的行数感到困惑。phpmyadmin和count查询返回的总行数不同。
我的表结构是 InnoDB
.
Showing rows 0 - 24 (655537 total, Query took 0.1527 seconds.)
这是浏览表时的结果。
我的计数查询是
SELECT count(*) FROM `table_name`
这将作为 602030
2条答案
按热度按时间r6vfmomb1#
当您使用phpmyadmin或heidisql等工具进行浏览时,会执行如下查询:
这个值是不准确的,如果您多次运行它,它总是给出不同的结果。
相反,问题是:
实际上是在计算记录,并给出正确的结果。
正如mysql文档中提到的https://dev.mysql.com/doc/refman/8.0/en/show-table-status.html:
一些存储引擎(如myisam)存储精确的计数。对于其他存储引擎,比如innodb,这个值是一个近似值,可能与实际值相差40%到50%。在这种情况下,请使用select count(*)获得准确的计数。
n3ipq98p2#
mysql说:通过innodb,总数仅仅是计数的近似值。
https://dev.mysql.com/doc/refman/8.0/en/show-table-status.html