高难度:使用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的不是分页报表,而是根据条件检索的所有数据,并在最后面显示合计数据
===========================================================
拜求!!!