explain SELECT * FROM dzx_forum_thread WHERE fid IN (15) AND displayorder = 0 ORDER BY lastpost DESC LIMIT 20;
Extra 里面出现 Using filesort 表示索引需要优化
索引一次只能用一个
索引优化注意事项:
哪些常见情况不能用索引?
什么样的字段不适合建索引?
联合索引的问题?
where a = “xxx” 可以使用 AB 联合索引
where b = “xxx” 则不可 (再想象一下,这是书的目录?)
所以,大多数情况下,有AB索引了,就可以不用在去建一个A索引了
索引包含了所需的全部值的话,就只select 他们,换言之,只select 需要用到的字段,如无必要,可尽量避免select *
NULL会导致索引形同虚设,所以在设计表结构时应避免NULL 的存在(用其他方式表达你想表达的NULL,比如 -1?)
来自: mysql索引需要了解的几个注意