| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 677 人关注过本帖
标题:帮我提高一个代码效率
只看楼主 加入收藏
xiapi
Rank: 1
等 级:新手上路
威 望:2
帖 子:305
专家分:0
注 册:2006-10-11
收藏
 问题点数:0 回复次数:3 
帮我提高一个代码效率
有两个表,一个是分类表news_sort有50多个类,一个是新闻表news有5万多记录,用的是mssql2000
实现效果:输出所在的类别,并在类别后显示本类别的新闻数,大概效果如下图
图片附件: 游客没有浏览图片的权限,请 登录注册

原来的代码大概是这样子:
<%set rs=conn.execute("select news_sortid,news_sort from [news_sort] order by news_sortplace desc")
do while not rs.eof
set rs1=conn.execute("select count(news_id) from [news] where news_sortid="&rs("news_sortid")&"")
response.write rs("news_sort")&"("&rs1(0)&")"
rs1.close:set rs1=nothing
rs.movenext
loop
rs.close:set rs=nothing
%>
可是这个运行下来大时间太长了要400多毫秒,因为数据量不大用这么多时间有点太长了

看怎么能提高一下效率,我想写一个存储过程,但是不知道该怎么写?

[[it] 本帖最后由 xiapi 于 2008-5-30 15:14 编辑 [/it]]
搜索更多相关主题的帖子: 存储过程 
2008-05-30 15:13
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
收藏
得分:0 
人家用缓存的……人家不是每次都要重新查一次的……
2008-05-30 18:38
天涯听雨
Rank: 2
来 自:东莞
等 级:论坛游民
威 望:4
帖 子:497
专家分:64
注 册:2007-8-25
收藏
得分:0 
没有写存储过程,但写了一个查询语句。我测试的数据是十二万!感觉速度还可以

Select a.news_sort,b.SortSum from [news_sort] as a left join (Select Count(ID) as SotrSum,news_sortid from [news] Group BY news_sortid) as b on (b.onews_sortid=a.news_sortid) order by a.news_sortplace desc

从明天起做幸福的人,喂马劈柴周游世界!
2008-05-30 18:53
天涯听雨
Rank: 2
来 自:东莞
等 级:论坛游民
威 望:4
帖 子:497
专家分:64
注 册:2007-8-25
收藏
得分:0 
不过有时候人家是在分类后直接有个字段来记录多少。这样就会更加省事

从明天起做幸福的人,喂马劈柴周游世界!
2008-05-30 18:54
快速回复:帮我提高一个代码效率
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020971 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved