MySQL索引优化之like,regexp
① 向sys_option添加索引
ALTER TABLE sys_option2 ADD KEY(descript);
②情况一:前后%号匹配
EXPLAIN SELECT * FROM sys_option2 WHERE descript LIKE '%房号%';

可以看到type显示的是“ALL”,未使用索引
③ 情况二:后%号匹配
EXPLAIN SELECT * FROM sys_option2 WHERE descript LIKE '房号%';

这时的type显示”range“,这时使用的是索引
注:range类型,它是索引上的范围查询,它会在索引上扫码特定范围内的值。
④ 情况三:前%号匹配
EXPLAIN SELECT * FROM sys_option2 WHERE descript LIKE '%房号';

这个时候显示的还是“ALL”,未使用索引
⑤ 情况四:regexp
EXPLAIN SELECT * FROM sys_option2 WHERE descript REGEXP '房号';

还是“ALL”,未使用索引,全表扫描。
个人小结:尽量将查询改写成like后%号匹配,以达到提高查询效率的目的。