LIKE  '%cc%'  这样是使用不到索引,但是 现在业务上就是要这样查询, 在改动小的情况进行优化

解决方案 »

  1.   

    那么多or、like '%%',又不能改业务逻辑,改全文索引算了
      

  2.   

    网上文档介绍 OR 转 UNION ,但是实际测试转UINON 要在有索引的情况下才能提高,否则 比不转的效率还低
      

  3.   

    不妨在这些条件的表上,增加计算列,包含  cc 得 1 ,不包含得 0 ,
    查询的时候,直接 where xx = 1 or yy = 1 
      

  4.   

    还有一点, LIKE '%匹配的文字%',不能执行Index Seek,但可能执行Index Scan,而Index Scan是有可能比Table Scan效率高的。
      

  5.   

    不妨在这些条件的表上,增加计算列,包含  cc 得 1 ,不包含得 0 ,
    查询的时候,直接 where xx = 1 or yy = 1 
    条件是动态的 ,由页面传进来,可能是cc  aa 。