有这么一个sql语句 SELECT id FROM spiap r WHERE r.PLACE_NAME like '%富祥%' ORDER BY r.STATISTIC_DATE DESC, r.id DESC LIMIT 10这个sql语句 耗时多达5S,表总数才7W,这肯定不能忍受,索引有STATISTIC_DATE ,id ,如果我把WHERE r.PLACE_NAME like '%富祥%' 或者 ORDER BY r.STATISTIC_DATE DESC, r.id DESC 或者 LIMIT 10 去掉,耗时不超过一秒,请问这是什么原因,有什么优化建议
建议你给数据库增加下索引。
like 语句使用两个通配符%富祥%,这样 即使是在PLACENAME 这个字段下增加了索引,查询的时候也不会使用到,你可以使用一个通配符
像这样 富祥% 通配符放在后面可以使用到索引 ,另外STATISTIC_DATE 有添加索引么