phpmyadmin:MySQL 的表行数不正确

Posted

技术标签:

【中文标题】phpmyadmin:MySQL 的表行数不正确【英文标题】:phpmyadmin: Incorrect table rowcount with MySQL 【发布时间】:2013-09-07 14:19:10 【问题描述】:

我有一个表,根据 phpmyadmin 的行数约为 76.000 行(显示行 0 - 99(总共约 76,853 行,查询耗时 0.0322 秒)和)。但是,当尝试在 4950 个条目后从 phpmyadmin 浏览时)我得到空结果(没有显示)。

phpmyadmin 中的相关查询是:

SELECT * FROM mytable LIMIT 5000 , 100

如果我从 php 脚本运行此查询,它也会返回零行。

我也是从 php 脚本运行的

$getcache_PRST = $LGCACHEPDO->prepare("SELECT * FROM mytable");
$getcache_PRST->execute() or die($LGCACHEPDO->errorInfo());
$getcache_ROWN = $getcache_PRST->rowCount();

echo $getcache_ROWN ."<br>";

结果是 4950 行。

我是不是做错了什么?

引擎是innoDB。

编辑

$nRows = (int) $LGCACHEPDO->query("select count(*) from mytable")->fetchColumn(); 
echo $nRows;

$q = $LGCACHEPDO->query("select * from mytable");
$rows = $q->fetchAll();
$rowCount = count($rows);
echo "There are $rowCount rows\n";

这些查询还返回 4950 行...而不是 76.000

【问题讨论】:

请看php.net/manual/en/pdostatement.rowcount.php Why does my InnoDB table have a weird value for record count?的可能重复 可能,这就是about~ 所暗示的。 Why estimated rows count is very different in phpmyadmin result? 的可能副本 【参考方案1】:

我下载了表格,确实正如你们提到的那样,phpmyadmin 的报告并不准确。行数确实是 4950 行。谢谢。

【讨论】:

【参考方案2】:

这是 InnoDB 表的常见问题解答。 看https://phpmyadmin.readthedocs.org/en/latest/faq.html?highlight=MaxExactCount#the-number-of-rows-for-innodb-tables-is-not-correct的解释

【讨论】:

以上是关于phpmyadmin:MySQL 的表行数不正确的主要内容,如果未能解决你的问题,请参考以下文章

使用 Postgres 排除约束限制匹配特定条件的表行数?

mysql查询所有表行数

通过Grafana绘制MySQL表行数增长情况

visualstudio2022报错提示的行数不正确

mysql查看所有表行数,面试必问

oracle 查看表行数所占空间大小