本帖最后由 HUI_YE 于 2010-11-04 11:46:08 编辑

解决方案 »

  1.   

    方式是多种多样的
    1.你可以用缓存。
    2.可以存储过程和程序结合做。
    3.优化你写的代码。
    4.看你写的sql够不够牛。
    5.服务器性能、网速都有可能影响。
    6.可以把服务器做成分布式管理。
      

  2.   

    SQL 全文搜索语法已定死了, 存储过程里不能做些什么变动了吧, 服务器 Intel(R) Xeon(R) CPU E5405 @2.00Ghz 8片 这个配置, 对于我们的需求的那样的运算量, 是否能撑得起, 我也没个概念,分布式管理 根据目前的条件暂时也考滤不上, 谢谢楼上这位仁兄的热心
      

  3.   

    建立索引的条件下使用 CONTAINS使用LIKE,就算你建了索引字段也没什么用如果使用LIKE个人觉得 ISNULL(Column1,'') + ISNULL(Column2,'') LIKE 'KEYWORD',再配合 TOP N 效率会高些
      

  4.   

    like 我倒是没用, 在SQL上试过LIKE  那慢的实在吓人,下面帖下我的存储过程中 在查询第三页数据(每页10条)时的 SQL语句,各位帮我诊断下select top 10 * from tb_company where Id in(
    select top 10 [KEY] from freetexttable(tb_company,(company,Products),'成都 公司') where [KEY] not in(
    select top 20 [KEY] from freetexttable(tb_company,(company,Products),'成都 公司') 
    ORDER BY RANK DESC) 
    ORDER BY RANK DESC)
     在查询器里执行  大概要3秒
      

  5.   

    试了下居然超时了
    “/”应用程序中的服务器错误。
    --------------------------------------------------------------------------------超时时间已到。在操作完成之前超时时间已过或服务器未响应。
    自己用lucene.net结合盘古分词实现站内搜索,速度蛮快的,lz可以试下
    不过那个增量索引就还不懂
      

  6.   

    http://www.cnblogs.com/eaglet/tag/HubbleDotNet/
      

  7.   

    先建立索引,然后在根据索引搜索!
    你可以参考下这篇文章http://www.rainsts.net/article.asp?id=313
    当初我也都是在网上学来的,他里面有自带分词,不过那个不怎么好,就用了eaglet大哥的盘古分词