sql - SQL 增加(而不是替换)行 x 和 y 之间超大表上的所有用户余额,同时不截断余额表
问题描述
想象一下,我有一个超大的事务事务表,每分钟都在增长:
transaction
桌子
ID | 用户身份 | 数量 | 物品 |
---|---|---|---|
0 | 用户0 | 1 | 项目1 |
1 | 用户1 | -1 | 项目1 |
2 | 用户0 | -1 | 项目1 |
3 | 用户1 | 1 | 项目1 |
... | ... | ... | ... |
我需要每隔几分钟计算一次余额,所以我会运行一个(可能很长)查询,让我们“当前”生成balance
表的初始值,并可能将“最后计算的 transactionId”存储在 diff 表中,所以后续运行只需要运行更少的计算,然后将它们的值作为“增量/减量”应用
balance
运行 0-1 行后的表
用户 | 物品 | 平衡 |
---|---|---|
用户0 | 项目1 | 1 |
用户1 | 项目1 | -1 |
... | ... | ... |
balance
运行第 2-3 行后的表
用户 | 物品 | 平衡 |
---|---|---|
用户0 | 项目1 | 0 |
用户1 | 项目1 | 0 |
... | ... | ... |
如何以迭代方式运行此计算,而不需要截断balance
表格?