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

问题描述 投票:0回答:3

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

奇怪的是,增加每页的行数会导致更多缺失的行,如果我将其设置为每页 250 行,它们都会在那里。

你知道为什么结果集被截断吗?似乎 phpMyAdmin 错误计算了页数。

更新 我升级到最新版本4.5.0.2,问题依旧。

更新2 进表时执行的查询是

SELECT * FROM gems
结果:显示第 0 - 24 行(总共 825 行,查询花费了 0.0000 秒。)

当我执行查询时

select count(*) from gems
,结果返回997。所以问题显然出在phpMyAdmin认为的估计记录数上。

mysql phpmyadmin
3个回答
20
投票

我发现我的 phpMyAdmin 配置文件中有以下设置,粘贴自谁知道我之前做了什么性能修复。

$cfg['MaxExactCount'] = 0

这将无法更正 InnoDB 估计值。我注释掉了这一行,当然它解决了问题


0
投票

在表的开头添加一个自增BIGINT列,将其设置为UNIQUE和blamo!固定的。它强制 phpmyadmin 在添加自动增量键时获取真实计数。我不认为 PHPmyadmin 的目的是兼作程序数据管理。换句话说,您自己的应用程序不会有这些限制,phpmyadmin 用于开发您的数据库结构等,而不是用于管理您的客户...

您不应该编辑 phpmyadmin 配置文件。


0
投票

老问题,但我认为这可能有帮助

  1. 打开phpMyAdmin配置文件。如果您使用 XAMPP,它通常位于:

C:\xampp\phpMyAdmin\config.inc.php

  1. 查找
    $cfg['MaxExactCount']
    ,如果不存在,添加这一行:

$cfg['MaxExactCount'] = 100000; // Or higher, based on your table size

  1. 保存文件。

  2. 从 XAMPP 重新启动 Apache 和 MySQL。

© www.soinside.com 2019 - 2024. All rights reserved.