段落摘抄---
四、使用索引
到此你应该会建立、使用索引了吧?但什么情况下需要建立索引呢?一般来说,在 WHERE和 JOIN 中出现的列需要建立索引,但也不完全如此,因为 MySQL 只对 <,<=,=,>,>=,BETWEEN,IN,以及某些时候的LIKE(后面有说明)才会使用索引。
SELECT t.vc_Name FROM testIndex t LEFT JOIN myIndex mON t.vc_Name=m.vc_Name WHERE m.i_Age=20 AND m.vc_City='郑州' 时,有对 myIndex 表的vc_City 和 i_Age 建立索引的需要,由于testIndex表的 vc_Name 开出现在了 JOIN 子句中,也有对它建立索引的必要。
刚才提到了,只有某些时候的 LIKE 才需建立索引?是的。因为在以通配符 % 和 _ 开头作查询时,MySQL 不会使用索引,如 SELECT * FROM myIndex WHERE vc_Name like'erquan%'
会使用索引,而 SELECT * FROM myIndex WHEREt vc_Namelike'%erquan' 就不会使用索引了。