呵呵,如果不再3个字段上分别建索引,要避免表扫描,真的很麻烦
不过我可以让你减少到只需2个索引,但实际上的效率和独立的3个索引是接近的在使用最频繁的1个字段上建立一个独立索引(1)
其他2 个字段建立为一个联合索引(2)查询时 先扫描独立索引 ,再使用 前匹配 Like '内容%' Or 后匹配 Like '%内容'
扫描其他2 个字段
这样就可以保证都使用到索引,避免表扫描

解决方案 »

  1.   

    查询时 先扫描独立索引 ,再使用 前匹配 Like '内容%' Or 后匹配 Like '%内容'
    扫描其他2 个字段
    这样就可以保证都使用到索引,避免表扫描==================================
    like有前匹配和后匹配的说法吗?
      

  2.   

    请大家假设这是一个经常增加数据的表,而且phone字段经常被修改。这样的前提下有没有好方法解决这个问题?
      

  3.   

    前匹配就是 Like '内容%',前匹配只是一些人的叫法,就象 Like 有人叫他包含,有人叫他 类似前匹配和和后匹配的好处就是可以用到索引
    而 Like '%内容%' 这样是不能用到索引的
      

  4.   

    phone2,phone3联合索引的话,phone3 like 'xxx%' 为什么会用索引,能讲讲原理么。如果索引为B树的,好像不大可能哦。期待解答中