Innodb显示不正确的计数(id)

时间:2012-11-03 23:20:43

标签: mysql innodb

有一个带有~3g文件大小的innodb表(我使用innodb_file_per_table = 1),刚从dump和~1.3G转储文件导入。不知道这里有多少个recods。

当我从$ table执行“select count(id)”时,我看到“27117291”(27,117,291的可读性)。 当我从$ table limit 100执行“select count(id)”时,我也看到“27117291”

为什么会这样? InnoDB 真的更好MyISAM吗?!

P.S。如果我从$ table执行“select count(id),其中id = 73010460;”我看到“1”。

3 个答案:

答案 0 :(得分:5)

select count(id) from $table

返回包含count的一行。因此,您的限制没有任何区别。

(的 Reference

+-----------+
| COUNT(id) |
+-----------+
|  <count>  |
+-----------+

答案 1 :(得分:4)

我不是SQL专家,但我的猜测是因为count()只返回1行,因此限制为100不执行任何操作。

我猜你需要做更多这样的事情来获得预期的结果: select count((从x limit 100中选择id))

答案 2 :(得分:3)

限制不适用于该查询。 count查询返回1行,你限制100行。 如果你的计数查询将返回超过100行,那么它将是有效的。

该查询的限制不限制计数,过滤返回行