我不确定该怎么做。看起来像个错误,但显而易见,我必须做错了什么。我正在写查询phpMyAdmin的查询框:
SELECT * FROM `useralert`
显示0-24行(共58157行,查询耗时0.0005秒。)
现在,我将添加一个条件,该条件必须产生的行数少于总行数:
SELECT * FROM `useralert` WHERE exchange='AVG'
显示0-24行(总计63870行,查询耗时0.0004秒。)
看到了吗?表中的总行数为58157,但是在附加条件下进行查询会产生更多行吗?那怎么可能呢?我检查了三胞胎,没有犯一些愚蠢的错误(并且行数没有从外部改变)。
答案 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