SQL中有效期初余额的计算

SQL中有效期初余额的计算,sql,sql-server,linq-to-sql,Sql,Sql Server,Linq To Sql,我正在寻找一种使用SQL计算和缓存定期期初账户余额的好方法 我知道我可以使用SQL来汇总从时间开始到所述期间开始的一系列事务,但我更感兴趣的是,是否值得将这些计算出的余额(在不同的时间点)缓存到另一个表中?显然,这需要在编辑旧事务时使该表无效 我只是不确定是否值得这么麻烦,是否有更简单的方法,或者只是一些关于这个问题的一般性建议 假设许多交易虽然主要分布在多个账户中,但许多交易将被过滤出计算。我正在使用SQLServer2008,可以使用特定于它的功能 目前我正在使用: public D

我正在寻找一种使用SQL计算和缓存定期期初账户余额的好方法

我知道我可以使用SQL来汇总从时间开始到所述期间开始的一系列事务,但我更感兴趣的是,是否值得将这些计算出的余额(在不同的时间点)缓存到另一个表中?显然,这需要在编辑旧事务时使该表无效

我只是不确定是否值得这么麻烦,是否有更简单的方法,或者只是一些关于这个问题的一般性建议

假设许多交易虽然主要分布在多个账户中,但许多交易将被过滤出计算。我正在使用SQLServer2008,可以使用特定于它的功能

目前我正在使用:

    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;
    }
public Decimal GetAccountBalance(DateTime forDate)
{
var总和=(从m_dc交易中的t开始)

其中t.date如果我理解正确,那么您询问的是关于缓存求和结果的问题


我的想法是,当你不知道这会成为一个问题时,为什么还要费心去尝试优化呢?你可能只是增加了不必要的复杂性,占用了不必要的时间。

听起来像是一个视图而不是一个表的工作……是的,在优化之前先衡量一下你当然是对的……只是反复添加这些东西是有意义的每个页面上的内容都让我很烦恼。(通常我会开发性能至关重要的实时音乐软件——我会花大量的精力不浪费任何东西。我想我只需要在这个项目中放下这些:)无论如何,谢谢。