我们通过phpmyadmin运行以下非常简单的mysql查询
SELECT * FROM ProcessedListAssociations
我们知道正确的结果有751331行,但是查询的连续运行返回不同的行计数-从749978到752165行。至少phpmyadmin结果页顶部的row count消息是这样说的:显示第0-24行(总共752165行,查询耗时0.0005秒)
从php脚本运行查询似乎会返回正确行数的结果。
从phpmyadmin运行以下查询:
SELECT count(*) FROM ProcessedListAssociations
同时返回正确的结果(751331)
我们从头开始重新创建了这个表,但仍然注意到相同的问题。
该表是一个innodb表。下面是phpmyadmin报告的基本信息:空间使用数据68.6 mib索引136.3 mib总计204.9 mib行统计信息格式压缩排序规则utf8\u general\u ci next autoindex 751332
这和并发性有关吗?服务器有4个e7-4870处理器(总共80个线程),但在php.ini中,线程安全被禁用。如果这确实是问题所在,那么为什么我们只在phpmyadmin中观察它而不使用我们自己的php脚本呢?
1条答案
按热度按时间iq0todco1#
查看mysql中不正确表行数的答案
https://phpmyadmin.readthedocs.io/en/latest/faq.html?highlight=maxexactcount#the-innodb表的行数不正确