爲什麼我用ORDER BY x
命令選定的行時,mysql使用filesort?MyISAM表使用帶ORDER BY的filesort,爲什麼?
我的表看起來喜歡這樣的:
CREATE TABLE `test` (
`sdf` varchar(100) NOT NULL,
`sdf33` varchar(100) NOT NULL,
KEY `sdf_2` (`sdf`),
FULLTEXT KEY `sdf33` (`sdf33`),
FULLTEXT KEY `sdf` (`sdf`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
當運行
EXPLAIN SELECT *
FROM `test`
ORDER BY sdf
MySQL的說,它的使用filesort
,爲什麼呢?我需要更改它以便不使用filesort
?
我已經有了一個普通的'索引'。它沒有幫助。它仍在使用filesort。 – Marwelln
@Marwelln:是的,我的答案解釋了原因。 – Quassnoi