phpMyAdmin没有显示所有行 - 显示的总记录数错误

mse*_*ert 6 mysql phpmyadmin

我在phpMyAdmin v4.3.2中显示所有行(825),用于按默认自动增量主键排序的mysql innodb表.当按升序排序时,我转到最后一页,但它在id = 1150时停止,此时它应该是id = 1337.最后200个左右的记录不显示.按降序排序时,记录正确地从最后一条记录开始.

奇怪的是,增加每页的行数会产生更多的缺失行,如果我将它设置为每页250行,它们将全部存在.

任何想法为什么结果集被截断?似乎phpMyAdmin错误计算了页数.

更新 我升级到最新版本4.5.0.2并且问题仍然存在.

UPDATE2 输入表时执行的查询SELECT * FROM gems 结果:显示行0 - 24(总计825,查询耗时0.0000秒.)

当我进行查询时select count(*) from gems,结果返回997.所以问题显然在于phpMyAdmin认为存在的估计记录数.

mse*_*ert 9

我发现我的phpMyAdmin配置文件中有以下设置,该文件是谁知道我之前的性能修复程序.

$cfg['MaxExactCount'] = 0
Run Code Online (Sandbox Code Playgroud)

此禁用更正InnoDB估计.我评论了这一行,当然它解决了这个问题

  • 当前默认值为“50000”。这意味着,对于较大的表,行数是不准确的。之前(4.8.0 版之前)的默认值为 `500000`。您可能会考虑提高该值,但可能会遇到性能问题。请参阅 https://docs.phpmyadmin.net/en/latest/config.html#cfg_MaxExactCount (4认同)