如何设计用户余额

发布于 2022-09-01 23:56:45 字数 175 浏览 13 评论 0

如果把余额通过存入字段的形式保存, 这样有什么好处和坏处? 那应该适合什么样的方式去设计余额呢?

支付宝的余额有收支明细, 每个出入账单都是一条记录. 但是如果是实时统计的话, 数据量太多统计起来的话应该会有效率上的问题. 如果把余额存入一个字段的话, 如何保证这个值的正确性或安全性, 如果不正确, 如何发现和调整

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

手心的温暖 2022-09-08 23:56:45

我们的支付系统余额是一个单独的表保存,字段很简单用户ID,余额,状态,checksum。
余额是decimal(10,2)
checksum主要是用于防止数据库记录被篡改,可以使用MD5(字段值拼接+一个盐),每次访问/更新余额时都需要校验checksum是否正确,更新之后需要重新计算checksum并更新。

夏日落 2022-09-08 23:56:45

余额是一种敏感的东西。要考虑余额的精确度和操作的方便性。
存储余额不允许丢失,使用mysql之类数据库这些持久化存储方式来最大规避。
关于操作的方便性这个要看你自己业务对这个这个字段操作频率还有其他字段关联运算。
精度要考虑,比如你定义字段就要用decimal(n,m)

橙幽之幻 2022-09-08 23:56:45

之前做过类似的,当时是这样子设计的:
余额用了两个字段表示,可用余额和所冻结的余额
然后还会有一个收支明细,收 - 支 = 可用余额 + 所冻结的余额
然后还有余额冻结记录

冧九 2022-09-08 23:56:45

可以将整数位和分数位分开储存

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文