phpMyAdmin无法正确计数行

时间:2018-12-05 13:57:35

标签: mysql sql phpmyadmin

我不确定该怎么做。看起来像个错误,但显而易见,我必须做错了什么。我正在写查询phpMyAdmin的查询框:

SELECT * FROM `useralert`
  

显示0-24行(共58157行,查询耗时0.0005秒。)

enter image description here

现在,我将添加一个条件,该条件必须产生的行数少于总行数:

SELECT * FROM `useralert` WHERE exchange='AVG'
  

显示0-24行(总计63870行,查询耗时0.0004秒。)

enter image description here


看到了吗?表中的总行数为58157,但是在附加条件下进行查询会产生更多行吗?那怎么可能呢?我检查了三胞胎,没有犯一些愚蠢的错误(并且行数没有从外部改变)。

2 个答案:

答案 0 :(得分:2)

某些数据库仅给出了返回的行数的估计值,因此不应该相信phpMyAdmin给出的数字是100%准确的。

如果您运行查询:

SELECT COUNT(*) FROM useralert

并将其与以下内容进行比较:

SELECT COUNT(*) FROM useralert WHERE exchange='AVG'

第一个查询应大于或等于第二个查询。

答案 1 :(得分:1)

出于性能原因,phpMyAdmin返回一个近似计数。参见https://docs.phpmyadmin.net/en/latest/config.html?highlight=maxexactcount#cfg_MaxExactCount

如何在不更改配置的情况下获得准确的计数: https://docs.phpmyadmin.net/en/latest/faq.html#faq3-11