CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

请教数据库检索速度问题(急在线等。。。)

楼主ctangqh(天堂之鹰)2005-07-09 21:42:08 在 Web 开发 / ASP 提问

我用写一个站内搜索程序为什么搜索100000条记录就好慢呢!我是就一般like   语句和%%   来实现搜索的!   为什么检索速度这么慢呢!   看看我的程序有问题吗?  
  有什么办法可以提高搜索速度,还有高手可不可以提供一点有名的搜索的技术核心!  
   
  <!--#include   file="include/Conn.asp"-->  
  <%  
  Response.Buffer=true  
  If   Response.IsClientConnected   Then    
  Response.Flush    
  Else    
  Response.End    
  End   If    
  %>  
   
  <%  
   
                  keywords=Trim(Request("keywords"))  
                  set   rs=server.CreateObject("adodb.recordset")  
                  sql="select   Web,RegDate,Zycp,Qymc,qyjj   from   qyhy   where   Qymc   like   '%"&keywords&"%'   order   by   Qymc   asc"    
  rs.open   sql,Conn,1,1  
   
   
       
  %>  
  <body>  
  <div   align="center">  
      <p>&nbsp;   </p>  
      <table   width="98%"     border="0"   cellspacing="0"   cellpadding="0">  
          <tr>  
              <td   height="25">&nbsp;</td>  
          </tr>  
      </table>  
      <table   width="98%"     border="0"   align="center"   cellpadding="1"   cellspacing="1">  
          <tr>  
              <td>    
      <form   action="search.asp"   method="post"   name="leftform"   target="_parent">  
          <div   align="center">  
          <INPUT   name="keywords"   class=ibox   id="keywords"   size=30>  
          <INPUT   style="FONT-SIZE:   14px;   HEIGHT:   22px"   type=submit   value="   搜索">  
          </div>  
      </form>  
  </td>  
          </tr>  
          <tr>  
              <td   height="10"   bgcolor="#EAF4FE">共有<B><FONT   color="red"><%if   rs.recordcount<0   then   response.write   "0"   else   response.write   (rs.recordcount)   end   if   %>  
              </FONT></B>个相关结果   检索关键字<font   color="#FF0000"><%=keywords%></font></td>  
          </tr>  
          <tr>  
              <td><%  
  if   rs.eof   and   rs.bof   then    
        response.write"<font   color=red>没有找到相关信息..</font>"  
  else    
          If   Request.QueryString("page")=""   Or   IsEmpty(Request.QueryString("page"))   Then    
                page=1  
          Else  
                page=Cint(Request.QueryString("page"))  
          End   If  
          Rs.PageSize=12  
  totalpage=cint(rs.recordcount/rs.pagesize)  
  if   totalpage<(rs.recordcount/rs.pagesize)   then    
        totalpage=totalpage+1  
  end   if          
          If   page>totalpage   Or   page<0   Then    
                page=1  
          End   If  
   
  i=1  
  rs.Absolutepage=page  
  keyw=Cstr("<font   color=red>"&keywords&"</font>")  
  set   qymc=rs("qymc")  
  set   zycp=rs("zycp")  
  set   qyjj=rs("qyjj")  
  set   web=rs("Web")  
  set   begindate=rs("RegDate")  
  do   while   not   rs.eof    
        if   rs.eof   or   i>rs.pagesize   then   exit   do    
  %>  
                  &nbsp;<table   width="80%"     border="0"   cellpadding="0"   cellspacing="0">  
                      <tr>  
                          <td><a   href="<%Response.write(Web)%>"   target="_blank"><%response.write(replace(qymc,keywords,keyw))%></a></td>  
                      </tr>  
                      <tr>  
                          <td><%   Response.write(replace(zycp,keywords,keyw))%></td>  
                      </tr>  
                      <tr>  
                          <td><%Response.Write(replace(mid(qyjj,1,60),keywords,keyw))%>...</td>  
                      </tr>      
                      <tr>  
                          <td><font   color="#009900"><%Response.Write(web)%>&nbsp;<%Response.write(regdate)%></font></td>  
                      </tr>  
                      <tr>  
                          <td   height="10"></td>  
                      </tr>  
                  </table>  
  <%      
  i=i+1      
          rs.movenext  
  loop  
   
   
  %></td>  
          </tr>  
      </table>  
      <table   width="90%"     border="0"   cellspacing="0"   cellpadding="0">  
          <tr>  
              <td   height="25">  
  <%      
                                       
                                      'page=totalpage  
      if   totalpage>1   then    
                                      for   i=1   to   totalpage  
              if   ((i<=(page+5))   and   (i>=(page-5)))   then  
                                                                if   (page=i)   then    
                      response.write("&nbsp;"&i&"")    
                                                                else  
              if   i=(page+5)   then    
            response.write("&nbsp;<a   href=?keywords="&keywords&"&page="&i-4&"><strong>下一页</strong></a>")  
                                                                      elseif   i=(page-5)   then    
            response.write("&nbsp;<a   href=?keywords="&keywords&"&page="&i+4&"><strong>上一页</strong></a>")  
      else      
            response.write("&nbsp;[<a   href=?keywords="&keywords&"&page="&i&"><strong>"&i&"</strong></a>]")  
                              end   if    
        end   if    
     
        end   if          
                                      next  
    end   if  
   
    end   if    
  %>      
      </td>  
          </tr>  
      </table>  
   
  问题点数:10、回复次数:5Top

1 楼lgj1012(国产超人:队长~~楼下那几个牛鬼蛇神很可疑~)回复于 2005-07-10 00:43:31 得分 0

和asp   关系不大,数据库设计和查询语句没优化Top

2 楼ctangqh(天堂之鹰)回复于 2005-07-10 15:07:10 得分 0

那应该怎么优化呢!  
  有没有哪位高手指点一下呀!Top

3 楼liuyong320324(漂流人)回复于 2005-07-10 17:00:18 得分 0

学习,帮你顶Top

4 楼andy888666(andy)回复于 2005-07-10 17:36:06 得分 0

给数据库必要的字段建立索引,设计数据库时最好符合三级范式!Top

5 楼superdullwolf(超级大笨狼,每天要自强,MVP)回复于 2005-07-11 01:44:39 得分 10

http://community.csdn.net/Expert/topic/3601/3601481.xml?temp=.2255213Top

相关问题

  • 提高数据库检索速度?求高手解答!!
  • 数据库检索问题
  • 检索数据库问题???
  • 高手回答:如何最大的提高oracle的数据库表检索速度?
  • 数据库速度优化!!急!!!!!在线等!!!!!
  • 数据库速度问题
  • VB数据库文本检索。。。。。COME ON。。。
  • 关于数据库的检索问题
  • 请教检索数据库问题
  • 检索数据库的问题。。。。

关键词

  • 检索
  • 数据库
  • 速度
  • 搜索
  • totalpage
  • querystring
  • pagesize
  • rs
  • page
  • request

得分解答快速导航

  • 帖主:ctangqh
  • superdullwolf

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo