0

实际上我的目的是找出我的数据库中存在的记录数,以便找出我已经执行了查询,例如select sum(table_rows) from information_schema.tables where table_schema='database_name'; 它给了我一些价值,比如 90658965

之后,我需要单个表中存在的记录数,因此我执行了以下查询select table_rows,table_name from information_schema.tables where table_schema='database_name'; 我得到了像3781 (table_rows) 和 ticket(table_name)这样的结果

因此,为了交叉验证,我执行了 select count(*) from tickets 之类的查询; 我得到了像3552这样的结果

为什么上述两个查询的表计数存在差异门票
表 的存储引擎是innodb

4

2 回答 2

1

表中INFORMATION_SCHEMA TABLES所述

对于InnoDB表,行数只是 SQL 优化中使用的粗略估计。InnoDB(如果表是分区的,这也是正确的。)

于 2012-10-09T10:18:31.410 回答
0
SELECT COUNT(*) FROM TABLENAME

本次查询为资源激励操作。

总回报 information_schema.tables 将是正确的

于 2012-10-09T10:30:44.000 回答