问题现象
查询表 mqm.t_batch
总行数,发现两种方式查询的结果不一致。
1 | # information_schema.tables |
原因分析
默认情况下,MySQL 对表进行增删操作时,是不会自动更新 information_schema.tables
表 table_rows
字段,只有 10%
的行数发生变化才会自动收集,执行 ANALYZE TABLE 'table_name'
后会统计所有表数据,结果和 count(*)
一致。
Tips:生产环境中不建议使用,因为会锁表!
1 | mysql> ANALYZE TABLE t_batch; |