将近2000万的一张表,用主键做范围查询耗时很长,几分钟。
表结构如下
CREATE TABLE `test` (
  `id` int(12) NOT NULL AUTO_INCREMENT,
  `city` varchar(6) CHARACTER SET utf8 NOT NULL COMMENT 'city',
  `addtime` int(12) NOT NULL DEFAULT '0' COMMENT 'addtime',
  PRIMARY KEY (`id`),
) ENGINE=MyISAM AUTO_INCREMENT=186400 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;id是自增主键,可是以下SQL语句查询却非常慢。select * from test where id >500;explain发现,几乎要全表扫描了,附加信息是 Using index condition;Using MRR为什么会这么慢呢,