LIKE'whatever%'type子句时,MySQL可以使用那些基于开始的索引来
whatever快速查找。
但是切换到
LIKE'%whatever%'会删除字符串开头的锚点。现在,无法使用基于开始的索引,因为您的搜索词不再锚定在字符串的开头-它“浮动”在中间的某个位置,必须搜索整个字段。任何
LIKE'%...查询都不能使用索引。
这就是为什么如果您所做的只是“浮动”搜索,就使用全文索引的原因,因为它们是针对此类使用而设计的。
需要特别注意的是:从5.6.4版本开始,InnoDB现在支持全文索引。因此,除非您不能升级到至少5.6.4,否则您将无法使用InnoDB * 和
全文本搜索。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)