说说我自己的操作方式:SELECT *FROM INFORMATION_SCHEMA.tables
WHERE table_schema
= 'cachedb'
AND table_rows
>0;
想用这个语句查出cachedb中所有的有数据的表的表名,但是发现有些表里面明明有数据,但是table_rows显示的是0,
上网查了资料,发现对于InnoDB表,table_rows行计数仅是大概估计值(http://www.netingcn.com/mysql-view-all-table-row.html),
想了很多其他方法都没有解决,后来我们老大给了一个方案。。瞬间被秒杀
对于这些统计不正确的使用表分析 ANALYZE TABLE cachedb.表名;
再查此表的table_rows即正确。