CREATE TABLE IF NOT EXISTS `index` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `pp` varchar(64) COLLATE utf8_unicode_ci NOT NULL,
  `fid` smallint(6) NOT NULL,
  `time` int(12) NOT NULL,
  `threadid-floor` varchar(32) COLLATE utf8_unicode_ci NOT NULL,
  PRIMARY KEY (`id`),
  KEY `index` (`pp`,`fid`,`time`),
  KEY `pp` (`pp`),
  KEY `time` (`time`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='用户搜索' AUTO_INCREMENT=62878612 ;
explain select `threadid-floor` from `index` force index(`time`) where `time`>1370304000
如下:表总行数6万千左右,rows将近3千万,如果不用force index根本不会用到索引。问题:已经有个time索引,查询的where中也只有time,本应该是先从索引中查找出需要的行的primary id,然后从primary里取到需要的数据,不应该遍历这么多行。