count的数量和 select * 的数量不一致
今天遇到已经怪事
需要对一个表的全部数据进行处理,但是select * 出来后,最后log显示只处理了75条,可是这个表里面有将近10万条数据的。
于是进行以下步骤check
1. select count(*) from a;
得到结果是 96486 条数据
2.select * from a;
得到 75条数据
3. select * from a limit 100;
得到100条数据
百思不得其解,郁闷。突然,鬼使神差般的,我想起了,这个表是不是坏了。于是
check table a;
报告结果显示a表果然坏了。
于是修复表(用的myisam引擎,表数据量比较小,就直接修复了)
repair table a;
一会报告表修复了
然后再处理,报告检索到了97860条,处理了97860条。这就O了。
但是还是不知道原因,真奇怪。