我有表:的MySQL不使用索引
CREATE TABLE IF NOT EXISTS `TxtDila` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
...
`Datum` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
...
PRIMARY KEY (`ID`),
KEY `Datum` (`Datum`),
...
FULLTEXT KEY `Titulek` (`Titulek`,`Anotace`,`Txt`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
当我跑: EXPLAIN SELECT ID FROM TxtDila USE INDEX(基准)ORDER BY基准
我得到:
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE TxtDila ALL NULL NULL NULL NULL 214603 Using filesort
即使当我尝试 EXPLAIN从TxtDila使用索引(基准)使用索引(基准)ORDER BY基准 我可以看到filesort。
表有200.000条记录,约700MB。我有全文索引。
任何人都可以帮助我吗? 谢谢
您需要多列索引,因为建议,因为MyISAM不会像InnoDB那样自动在索引中包含主键。 – 2012-03-02 15:48:44
@马库斯,谢谢你的指针。我在硬盘访问策略方面并不是特别专业,所以寻求/读取/等等会让我略微感受一下。同意如果表是InnoDB那就不会有问题了。 – Hammerite 2012-03-02 15:49:14