mysql like 模糊搜索
问题一   name like '%联想%'  是全表搜索，如何使用索引来优化查询？
```
            有推荐用mysql 函数  locate/instr

            explain SELECT * FROM product where name like '%联想%';
            explain SELECT * FROM product where LOCATE('联想',name)>0 ;
            explain SELECT * FROM product where instr(name, '联想')>0 ;

            看着解释没什么区别啊，都是用了全表搜索
            
            

```
问题二   name like '%联想%'  是匹配的 XX联想XX。如何匹配 XX联XX XX想XX，现在是把搜索内容拆分了，name like '%联%' or name like '%想%'
第一个问题: 如果左边有通配符`%`的话,是无法走索引的,只能走全表扫描,最好的结果是`select`中只查询索引覆盖的列,比如假设只有`name`s列带索引,`select name from product where name like '%联想%'`,走的是扫描整个索引,比全表扫描要快一点,但是应用很局限,一般不会只查被索引覆盖的列啊.
第二个问题: 这种分词查询简单点就用全文索引, 如果表超级大,性能差的话, 上搜索引擎,比如`solr`,`Lucene`、`Sphinx`.