This topic created in 2110 days ago, the information mentioned may be changed or developed.
观点一:用户的余额来源于所有余额变动记录的和,扣减用户余额的时候添加一条变动值为负数的记录;
观点二:单独在用户中存一个余额字段,每次跟随余额记录进行变动。
那么哪一种方式更好?
我的观点是第二种好一点,理由是每次查询余额都需要执行 sum,性能更低;再是余额依赖于每一条历史记录,有风险。
各位的观点呢?
12 replies • 2020-07-31 19:37:04 +08:00
 |
|
1
finab Jul 31, 2020 1
我全都要,一二条综合起来 再每隔一定时间两边对账
|
 |
|
2
kidtest Jul 31, 2020
单独余额字段,同时需要有流水记录。
|
 |
|
3
Kr98 Jul 31, 2020 via Android
全都要 +1
|
 |
|
4
mumbler Jul 31, 2020 via Android
当然是 2,但余额字段数据只能用于不严谨场景下统计查看,任何实际扣钱的操作都需要去 SUM 一下再处理
|
 |
|
5
wushigejiajia01 Jul 31, 2020 via Android
1.增加关联表做变动记录 2.单独用字段存这个余额,而且如果这个余额变动非常频繁的话,不建议把这个字段跟用户基本信息放一张表
|
 |
|
7
tabris17 Jul 31, 2020
CQRS 和 reporting table 的区别
|
 |
|
10
imn1 Jul 31, 2020
业务流程来说,只有一个余额字段可能还不够呢 建议理顺业务逻辑,各种可能试一遍再说
|
 |
|
11
ijustdo Jul 31, 2020
流水记录 + 单独字段 , 每次改动都事务 两个一起
|
 |
|
12
ijustdo Jul 31, 2020
事务开始
insert 流水 update 余额 = 余额 - 消费 where 余额-消费 > 0
事物结束
通过 update 的影响情况决定是否回滚
|