varchar(60)的字段,30万数据,要对这个字段进行检索
用Contains,还是Like
想得到的数据是Like'%关键字%'这样的效果
都说Like速度慢
这样的量,大家说说有没有必要加全文检索
高手帮忙,谢谢

解决方案 »

  1.   

    建索引
    用charindex('关键字',字段)>0
      

  2.   

    Like'%关键字%'
    charindex('关键字' , 字段)对该字段建立索引
      

  3.   

    Like'%关键字%'   这种方式用不上索引。
      

  4.   

    charindex对索引有效吗
    Like'%关键字%'这样索引肯定是没用了
      

  5.   

    用Contains肯定会快(如果列的属性为text,ntext,varchar等)
      

  6.   

    用函数charindex()和前面加通配符%的LIKE执行效率一样
      

  7.   

    试了一下charindex不会比like快
    而且索引对他们没用
      

  8.   

    没有必要加全文检索如果是:
    where 1=1 and 索引字段 Like'%关键字%' 則索引是不會起作用的
      

  9.   

    30w的数据实在是寥寥,Like'%关键字%' 也没什么问题
      

  10.   

    如果是varchar类型,charindex 和like 都可以,但是charindex的效果更快如果是text 类型,数据量比较大,charindex函数无效,用全文索引
      

  11.   

    学习过 ..目前还只会用LIKE
      

  12.   

    我这二十六万,查聚集索引列很快charindex()方法,
    如果多字段查询的话考虑全文索引用contains
      

  13.   

    我着40万,用like 没有觉得很慢. 用不同的计算机效率有所不同吧