关于sql server优化的问题,麻烦大家帮忙看一下,(分数不够可以再加)

lvwaike 2006-05-23 10:50:19
关于sql server优化的问题,麻烦大家帮忙看一下

   我用得是asp程序 有三个表分别为,
   
   出库表字段为 chuku (160万条记录)
id 索引
feilei 内容为入库或出库
fangshi 
   清单表 qingdan(入库出库的清单)(380万条记录)
id
    ckid 索引 (出库的id号)
warename (商品的名称)
    wareid (商品的编号)
    warenum (商品的数量)
    warejia (商品的价格)

   商品表 ware (4万多)
    id 索引
warename

目前用asp是这样写的,
   set rs=server.CreateObject("adodb.recordset")
sql="select * from ware"
rs.open sql,conn,1,1

do while rs.eof=true
//汇总商品的入库数量
      sql="select sum(num) where qingdan where wareid='"&rs("id")&"' and ckid in (select id from feilei='入库' and fangshi='其它')"
      rs=conn.execute(sql)
//汇总商品出库数量
       。。。。。。。

rs.movenext
loop
目前运行起来很慢,而且特占cpu,有没有更好的办法来解决这样的问题,麻烦了,(分数不够可以再加)
...全文
91 5 打赏 收藏 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lvwaike 2006-05-23
  • 打赏
  • 举报
回复
还有别的方式吗?
竹林听雨2005 2006-05-23
  • 打赏
  • 举报
回复
用SQL存储过程,通过临时表来做
「已注销」 2006-05-23
  • 打赏
  • 举报
回复
取消循环,更改汇总的SQL为
select sum(num) where qingdan where wareid in (select id from ware) and ckid in (select id from feilei='入库' and fangshi='其它')
试试
jobs002 2006-05-23
  • 打赏
  • 举报
回复
sql server可以使用索引来提高性能,并且最好把记录集的范围缩小,不要随便使用select * from table..,关注..
ICeeYeS 2006-05-23
  • 打赏
  • 举报
回复
ware是什么表?

28,402

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧