我正在寻找一种使用SQL计算和缓存定期开户帐户余额的好方法。
我知道我可以使用SQL来总结从一开始到相关时段开始的一堆交易,但我更感兴趣的是它是否值得缓存那些计算的余额(在不同的时间点)在另一张桌子?显然,这需要在编辑旧事务时使该表无效。
我只是不确定这是否值得麻烦,如果有更简单的方法,或只是一些关于这个问题的一般性建议。
假设许多交易虽然主要分布在许多帐户中,但很多交易都会从计算中过滤掉。我正在使用SQL Server 2008和OK来使用特定于它的功能。
目前我正在使用:
public Decimal GetAccountBalance(DateTime forDate)
{
var sum=(from t in m_dc.Transactions
where t.date<forDate && t.account_id==m_CurrentAccount.id
select (decimal?)t.amount).Sum();
return sum==null ? 0 : (decimal)sum;
}
答案 0 :(得分:2)
如果我理解正确,你要求缓存一笔金额的结果。
我对此的看法是,当你不知道它会成为一个问题时,为什么还要努力优化呢?你可能会增加不必要的复杂性并花费不必要的时间。