高难度:使用ASP操作几个百万级数据量的表,表之间有关联操作,如何才能提高查询运算速度?

weilf 2006-11-10 09:31:48


有三个表,一个是销量表SAIL,一个产品属性表PRODUCT,一个客户表USER

SAIL表假设以下字段:

ID , SAILDATE(销售日期) , PRODUCTID(对应产品表ID) , USERID(对应USER表ID) ,SAILNUM(销售数量) , NUMBOX(产品包装规格)


PRODUCT表假设以下字段:
ID , NUMBOX , pro(标准系数)



USER表字段:

ID , NAME(客户名称) , ROUTE(客户所属区域)



一个客户所属区域包含很多的客户,一个客户,每天都有很多的销量;

我要实现的报表目标是:
==========================================
求出最近3个月的产品销量区域报表和总报表;

注:销量(箱)= SAILNUM(销售数量)/NUMBOX(产品包装规格)
标准销量 = 销量(箱)* pro(标准系数)


总报表如下:
--------------------------------------------------------------
| 客户区域 | 最近三个月销量(箱) | 折算后的标准销量 |
--------------------------------------------------------------
| A区 | 54(箱) | 150 |
--------------------------------------------------------------
| B区 | 54(箱) | 150 |
--------------------------------------------------------------
| ............
| ............
| ............
--------------------------------------------------------------
| 合计 | 3000(箱) | 15000 |
--------------------------------------------------------------




区域报表如下:
--------------------------------------------------------------
| A区域 | 最近三个月销量(箱) | 折算后的标准销量 |
--------------------------------------------------------------
| 客户A | 4(箱) | 50 |
--------------------------------------------------------------
| 客户B | 5(箱) | 60 |
--------------------------------------------------------------
| ............
| ............
| ............
--------------------------------------------------------------
| 合计 | 300(箱) | 1500 |
--------------------------------------------------------------




目前我存在的问题是:
===========================================================
SAIL表有200万条以上的数据,USER表有50万以上的数据,PRODUCT表只有1000条左右;

1、如何实现快速查询显示要的数据?

2、如何才能更快的求合计,合计数据是检索的所有数据,并不是网页当前的分页数据合计;并要求在每个分页最好都显示合计;
3、如何实现报表导出到EXCEL?导到EXCEL的不是分页报表,而是根据条件检索的所有数据,并在最后面显示合计数据


===========================================================
拜求!!!
...全文
443 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
run_pig 2006-11-14
  • 打赏
  • 举报
回复
有些需要联合查询的地方,可以做成视图来出来,统计的地方可以用存储过程来处理,分页最好用存储过程分页,这么大数据量不要指望ASP传统的分页能有什么好的效率,在常用的数据字段上做索引,如时间字段等,可以大大加快速度
calmjx 2006-11-14
  • 打赏
  • 举报
回复
忘了说,最好做索引。
calmjx 2006-11-14
  • 打赏
  • 举报
回复
1、如何实现快速查询显示要的数据?

答:用存诸过程,然后在ASP中exec调用。

2、如何才能更快的求合计,合计数据是检索的所有数据,并不是网页当前的分页数据合计;并要求在每个分页最好都显示合计;
答:用存诸过程

3、如何实现报表导出到EXCEL?导到EXCEL的不是分页报表,而是根据条件检索的所有数据,并在最后面显示合计数据

答:把EXCEL另存为WEB页面,你会找到一些思路。我只做过生成WORD.EXCEL也是同样的道理。对应好相应的单元格就行了。我只有生成WORD的源码。

建议数据量大的话,都用存诸过程来做。不要在ASP中直接select.另外,加上Ajax,可以让用户不会白白浪费在等待返回的时间上。
weilf 2006-11-14
  • 打赏
  • 举报
回复
Ajax,不懂~~~~~~~~
weilf 2006-11-13
  • 打赏
  • 举报
回复
楼上大哥具体说说!
chinastorm 2006-11-13
  • 打赏
  • 举报
回复
存储过程+视图+索引
weilf 2006-11-13
  • 打赏
  • 举报
回复
高手出招啊~~~~给点思路啊!~~~~~~
cceon 2006-11-11
  • 打赏
  • 举报
回复
如果追求效率,不要指望asp给你带来太多惊喜

类似这种查询,最好使用存储过程
飘零雾雨 2006-11-11
  • 打赏
  • 举报
回复
可以给一些字段加上索引,同时也应用存储过程!
muliang774 2006-11-10
  • 打赏
  • 举报
回复
给个思路:先查询内容...然后存在缓存里.不过可能只对中小型数据有用的.你试试
weilf 2006-11-10
  • 打赏
  • 举报
回复
SQL SERVER 2000
51one 2006-11-10
  • 打赏
  • 举报
回复
用什么数据库都不说
weilf 2006-11-10
  • 打赏
  • 举报
回复
还有一个条件要求,某个客户3个月连续没有销量,不统计,

新开客户3个月之后,才开始统计,


USER表有客户的创建日期字段的!!
基于ASP.NET学生成绩管理系统毕业设计实战课程 课程编码201800E4 本套课程是整个毕业设计项目-基于ASP.NET学生成绩管理系统的完整设计与实现过程,边录制边讲解的课程更有利于学生学习和理解。 基于ASP.NET学生成绩管理系统基于B/S架构,使用Visual Studio 2015和SQL Server 2014作为开发环境,该系统可以作为应届毕业生毕业设计作品的参考源码例子,也可以作为期末作业、大作业的学习课程或课外自学课程。基于ASP.NET学生成绩管理系统主要包括教师、学生和管理员三种角色,每种角色对应了不同的操作界面。基于ASP.NET学生成绩管理系统共分为系统管理、组织部门管理、教师课程管理、学生成绩管理四个模块。系统使用到的技术学习难度低,教师可以使用系统批量录入学生成绩信息。  基于ASP.NET学生成绩管理系统业设计的主要优势有以下几个方面:1、学习难度低,满足大多数应届毕业生和对编程了解程度较低人群的学习要求,系统可以很好的进行拓展和延伸。2、界面友好性强,使用最新前端模板进行三个角色管理界面设计。3、满足大多数院校的毕业设计要求4、角色之间功能设计合理。5、数据库设计合理,在现有系统的基础上,可以拓展等更多的功能。6、全设计过程录像。本套课程售价为450元  不需要源码的同学享受活动价格优惠,所有活动折扣/会员满减等最终售价低于课程价格时,请额外不足差价获取源码

28,390

社区成员

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

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