有一个带有id
(主键)和hash
(索引)的简单 mysql 表。其他一些列(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 毫秒内返回(localhost mysql)。任何改善慢计数(0.5 - 1s)的技巧将不胜感激。