我有一个表,里面有多个用户的多条消费记录,现在我想查出一个时间段里消费排名前20名的用户,应该怎样写才是最优化的。
这里有可能用户会很多(1000个),每一个用户的消费可能有200次消费,也就是说在200000条记录中对1000个用户排序,用一般的方法查我不知道是什么样的结果,我也没有试(在200000条中查1000次)这可能不行吧,我用的是ACCESS 。
请各位大GGJJ指教!
每次消费对应一条记录吗?还是一个用户对应N条消费记录?
如果是前一种情况的话,我也不知道该如何解决.
恩,不大可能是后一种情况,因为后一种情况很容易就可以解决了...考虑ing,期待高人解答...
只是查询的话,用
select UserID,Sum(Pay) as SP
from Table
where PayDate between date1 and date2
group by UserID
order by SP asc
优化就不懂老
不知道access有无索引。access没有使用过。
如果有可以对日期建立聚集索引,用户名上建立非聚集索引。200000条中找数据不算什么。
不知道答的对不对,access没有使用过。
select top 10 sum()后再group by user不会太占资源:)
优化不懂....
這個查詢就慢了,應該在消費的同時,給匯總累加到一個表裏保存.
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 严重 问题 查询 用户 消费 可能 知道 记录 access 索引 |
注册
个人空间
