通常我们大家都知道最左前缀匹配原则,如果like '%XY'这种情况就没办法使用索引,但是在业务场景中,这种情况又非常常见,那么针对这种情况该怎么优化呢?
1.可以将要全模糊匹配的列reverse存储,这样就可以通过like 'XY%' or reverse的列 like ‘YX%’ 的形式来实现,走索引
2.建立联合索引,使用索引覆盖的技术来让左模糊匹配也能走索引。索引覆盖指的是select的字段和where查询需要的字段在索引中都存在,不需要回表进行操作。
通常在Extra列会有using where 表示需要回表,如果利用了覆盖索引,则会是 using index.