因为like %戒指% 要进行全表扫描现在想查询 article 表中 所有 title 字段 含有 '戒指' 这个字符串的所有记录原来的写法是 select * from article where title like '%戒指%'有没有效率更高的写法?

解决方案 »

  1.   

    还可以用 instr  ,substr,
    不过迷糊匹配效率都不怎么样
      

  2.   

    应该是没有的因为title 是个varchar,  戒指 可以出现在任何位置
      

  3.   

    1楼的意思是:
    select * from article where instr(title,'戒指')>0
      

  4.   

    只要比like高就行!!! 能确定比like高么?
      

  5.   

    用全文索引,否则都要全表扫描.用instr跟用like一样的.