我们的网站现在有个表经常更新且有比较多的用户执行模糊查询操作,速度很慢,经常出现死锁和阻塞等现象.
领导看到很多网站也有比较多的数据(我们的数据是100万左右),搜索速度仍然较快,于是就让我修改设计.在这里向大家请教.硬件条件:只有一台服务服务器(数据库服务器+IIS服务器).没有可能升级硬件了,所以这条路就是死路.我在想,是使用按日期分割表,还是使用全文检索,或者甚至是使用Lucene等技术呢?大家有没有相关经验?向大家请教.

解决方案 »

  1.   

    打个比方吧.有个表,表结构如下:
    NewsID
    NewsTitle
    NewsContent
    NewsClickTimes
    NewInsertTime经常需要按新闻名称模糊查询,然后查询结果先按点击次数排序,再按时间排序.有一百万以上的记录.模糊查询时速度比较慢.P.S. 小牢骚:修改别的人程序真TMD痛苦啊.数据库字段名大部分是两个字母的拼音缩写,小部分是英语缩写,没有大部分字段没有注释.程序里面也基本没有注释.ASP,所以不能断点调试.我想买块整夜撞死了.
      

  2.   

    P.S. 小牢骚:修改别的人程序真TMD痛苦啊.数据库字段名大部分是两个字母的拼音缩写,小部分是英语缩写,没有大部分字段没有注释.程序里面也基本没有注释.ASP,所以不能断点调试.我想买块整夜撞死了.同情
      

  3.   

    P.S. 小牢骚:修改别的人程序真TMD痛苦啊.数据库字段名大部分是两个字母的拼音缩写,小部分是英语缩写,没有大部分字段没有注释.程序里面也基本没有注释.ASP,所以不能断点调试.我想买块整夜撞死了.
    =============整夜是啥?
     
    你应该跟老板说 你让我改 不如让我重写好了
      

  4.   

    整夜什么的,是打错字了.打五笔,然后没怎么看,就打出了许多错字.
    原文应该是这样的:
    P.S. 小牢骚:修改别的人程序真TMD痛苦啊.数据库字段名大部分是两个字母的拼音缩写,小部分是英语缩写,大部分字段没有注释.程序里面也基本没有注释.ASP,所以不能断点调试.我想买块豆腐撞死了.
      

  5.   

    1.优化查询SQL
    2.表结构是否影响构造高效查询SQL,如果是,尽量重构
    3.优化你的系统、数据库运行时设置
    4.以上都不行,将模糊查询功能从数据库分离,象你所说,用Lucene也可。ps:硬件比较够呛,舍不得孩子套不着狼,总不能老是两把菜刀闹革命吧。
      

  6.   

    硬件问题是由老板决定的,所以没得商量啊.有没有有人实际项目中用lucene呢?有没有人用全文索引?只有一台服务器,如果缓存太多东西的话,恐怕内存不够用的吧.热门关键字有几十个呢,每个也是数千甚至几万的记录啊.
      

  7.   

    模糊匹配,简单做就用SQL SERVER的全文检索吧。速度会比较快,结果可能不尽入人意
      

  8.   

    为什么很多网站有那么多数据,模糊搜索速度还那么快呢?http://search.chemnet.com/cn.search?c=12&s=1&query=&r=&p=1中国化工网,能搜到成千上万条记录的模糊搜索也那么快.他们是怎么做的呢?P.S. 昨天同事给我看这个网站,说速度很快.我说如果咱们公司能给出价钱的话,也可以请到这样的技术人员的. 他笑笑说,给钱他们也未必来啊.
      

  9.   

    cime63(流浪的孩子) ( ) 信誉:100  2007-09-12 16:40:46  得分: 0  
     
     
       为什么很多网站有那么多数据,模糊搜索速度还那么快呢?http://search.chemnet.com/cn.search?c=12&s=1&query=&r=&p=1中国化工网,能搜到成千上万条记录的模糊搜索也那么快.他们是怎么做的呢?P.S. 昨天同事给我看这个网站,说速度很快.我说如果咱们公司能给出价钱的话,也可以请到这样的技术人员的. 他笑笑说,给钱他们也未必来啊.
      
     
    网盛可以都上市公司了,你给人家比什么啊~? 呵呵,人家的资金雄厚,硬件设施肯定那是没得说了至于技术方面,牛人肯定也是不少的。
      

  10.   

    To -> alkdalan():
    之所以跟他们比,是因为我也想变成技术牛人啊.
      

  11.   

    应该是查询语句的问题,把所有查询表的后面都加上 with(nolock)试验下
      

  12.   

    2005左模糊也支持索引了么?全文索引听说命中率不高啊,发愁ing.........谢谢楼上的兄弟.
      

  13.   

    P.S.   小牢骚:修改别的人程序真TMD痛苦啊.数据库字段名大部分是两个字母的拼音缩写,小部分是英语缩写,没有大部分字段没有注释.程序里面也基本没有注释.ASP,所以不能断点调试.我想买块整夜撞死了. 同感
      

  14.   

    把他们生成静态页面然后利用GOOGLE做站内搜索...