这是一个已知的问题,innodb运行缓慢
SELECT count(*) FROM Table
因此,我避免了这一点。但是我注意到,每当我登录phpmyadmin时,它将自动count(*)
为我的具有19k行的innodb表执行a ,这可能需要一分钟的时间来执行。但是,count(*)
对于其他具有400万行的innodb表,它不会启动。
在phpmyadmin中,“记录”列下的另一个线索是19k行表的记录数显示了确切的值,而400万行表显示了大约的值。
我了解innodb表可以估算行数。但是似乎对于较小的表(在这种情况下,行数为19k),phpmyadmin决定做一个a,count(*)
而不是仅仅给出一个估计。
问题是,有没有办法阻止phpmyadmin在我的innodb表上进行这种计数?每当我刷新phpmyadmin屏幕时,只需给出一个估计值而不用进行昂贵的行计数就可以了。
想我找到了答案。$ cfg ['MaxExactCount'] = 20000; 在phpmyadmin设置中。只有超过20k的行才会给出估算值。我的下一个问题是,我在哪里编辑$ cfg ['MaxExactCount']?
@Kenny,只需
—
Pacerier,2015年
20000
用较小的数字覆盖该值,例如300
,保存文件,刷新phpmyadmin,即可开始使用。