目前有数据表若干张类似:食品,日用品,体育用品等   每张表中的数据均达到5千万以上~~~  
现在需要进行模糊查询请问该如何处理?

解决方案 »

  1.   

    LZ可参考下面的网址
    http://wenwen.soso.com/z/q282793557.htm
      

  2.   

    目前是在需要模糊查询的字段上添加了非聚集索引  然后使用where charindex('xxxx',name)>0的方式查询。
    在对一张5千多万的数据表用以上操作查询的时间大概为14秒~~~~
      

  3.   

    使用了Lunce进行搜索  但是目前的要求是在导入数据之后就要查询到数据~~~可是当数据库中的数据发生变化之后需要生成Lunce的索引文件  这个操作相当耗时~~~~~~所以无法做到一有数据改动就动态生成索引进行搜索~~~~~或者说Lunce可以仅仅对改动的数据进行索引生成而我不知道?
      

  4.   

    sql server本身支持全文搜索据我了解,Lunce的索引文件生成是可以自己控制的,可以做到对只新数据查询,只要新数据能单独查询出来。
    如果一定要分表索引,那把表分细就很重要了
      

  5.   

    参考百度、谷歌的全文搜素技术
    http://msdn.microsoft.com/zh-cn/library/ms142583.aspx希望对你有所帮助
      

  6.   

    where charindex('xxxx',name)>0 这种方式是利用不到索引的
    还不如 like 你要尽可能的多分表,每个表的数据量不太大,这样来搞起。搜索主要去查一些tag  title description
    至于content 就不要搜了。表的字段设计都要合理,例如content字段要和 title tag  这些基本信息
    分成两个表来存
      

  7.   

    恩,搜索的字段问题不大  每个表中由于一个字段是用来搜索的 并且也不是MAX的~~