首页 > 代码库 > 查询自第一天到第七天的销售记录(累集N天)

查询自第一天到第七天的销售记录(累集N天)

需求:查询商品(SKU)第一天到第七天的销售,第一天到第十四天的销售,……

求解思路:1)查找SKU最早销售日期

     2)查找第一天到第七天、第一天到第十四天销售数据

     3)将这些数据的数量求和

在数据量达到数百万时,普通方法可能会直接拖垮服务器。为提高查询效率,公司DBA、架构师分别提供了两种解决方案(PS:本公司数据库受限制,不能使用存储过程)。

第一种方案:1)求最小销售日期 2)(当前日期-最小销售日期)/7 获取第N周数据  3)求和

第二种方案:1)使用内存临时视图with as 计算最早销售日期 2)最小销售日期+7 前七天销售等

第一种解决方案在73万数据量时,查询速度16s;第二种方案在同等环境下查询速度3s.(PS:我们的sql包含很多内容,因为是公司相关数据,再次不提供)

with as 是创建内存临时视图,在很多棘手情况下都可以使用,不单单使用于本方法。