@kyanny's blog

理想主義のない現実主義は無意味である。現実主義のない理想主義は無血液である - ロマン・ロラン フランス思想家

MySQL のインデックスは ORDER BY 句にかかる部分も含めてはること

SELECT * FROM table1
WHERE foo > 0
ORDER BY id DESC
LIMIT 100

こんな SQL を発行したいときに、

ALTER TABLE table1 ADD INDEX (foo)

このインデックスだけでは十分ではなく、

ALTER TABLE table1 ADD INDEX (foo, id)

のように複合インデックスをはらないといけない。そうしないと最後の sort の部分で Using filesort とかになってしまい、遅くなる。