有一个简单的mysql表,其中包含id
(主键)和hash
(索引)。还有其他列(varchar / int),但不需要对它们进行查询。
我的总表大小约为350MB,有250万行。
SELECT COUNT(*) FROM table LIMIT 1;
讨论需要约0.5-1秒时间。我的InnoDB缓存设置为1GB。我还尝试了其他变化(没有改善),例如:
SELECT COUNT(id) FROM table LIMIT 1;
SELECT COUNT(*) FROM table WHERE id > 0 LIMIT 1;
一个单独的
标签
SELECT * FROM table WHERE id = 'x' LIMIT 1;
会在1毫秒内返回(本地mysql)。有关改善缓慢计数(0.5-1秒)的任何提示都将不胜感激。