gpt4 book ai didi

sql - 选择合计或更新总余额字段?

转载 作者:搜寻专家 更新时间:2023-10-30 20:09:09 25 4
gpt4 key购买 nike

我正在使用 Entity Framework 和 Azure Sql。

我有用户,他们在余额表上有记录。有些用户可能有 100 万条记录。在每次 http 请求之前,我需要用户的总余额。

我有两种获取用户总余额的方法:

首先:在交易中插入余额并更新总余额字段(本身)。

transaction(
InsertBalance(amount)
Update CustomerSummary Set Totalbalance=Totalbalance+Amount
)

如果我需要总余额,我只需从 CustomerSummary 表中选择它即可。

第二种:直接插入余额,不使用任何交易。如果我需要总余额,我必须通过查询获得总和。

第一种方法对于总余额是否可靠?

我能否像第一种方法一样快速地获得第二种方法的总和?

最佳答案

第二种方法保证准确——如果您想要特定列的总和,没有比计算总和的查询更准确的了。

维护汇总表的原因是性能。通常,此类表以两种方式之一进行维护:

  • 触发器
  • 包装所有数据修改操作的存储过程

您使用 insert 的示例是一个“应用程序端”解决方案。危险在于有人可能会说余额不正确,然后直接在数据库中更改值。总数不会改变。

为了使其正常工作,您需要对数据库的访问进行正确的控制,以确保每当 amount 发生变化时,它的所有依赖项都会发生变化。注意:如果您在需要时计算余额,这不是问题。

关于sql - 选择合计或更新总余额字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30615092/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com