【发布时间】:2014-04-26 10:04:29
【问题描述】:
我有一个 SQL Server 数据库,它存储带有信用的帐户(大约 200.000 条记录),以及一个存储交易的单独表(大约 20.000.000 条)。
每当将交易添加到数据库时,信用都会更新。
我需要做的是更新客户端程序(使用 Web 服务)以在本地存储积分,并且每当将新事务添加到服务器时,它们也会发送到客户端(使用增量时间戳)。我的主要问题是为客户创建第一个数据集。我需要提供所有帐户的列表和交易表上的最后一个时间戳。
这意味着我必须创建此列表和快照中的最后一个时间戳,因为在创建此列表期间的任何更新都意味着积分总数和最后一个交易时间戳不匹配。
我研究了ALLOW_SNAPSHOT_ISOLATION 设置并在SqlCommand 事务上使用快照隔离,但据我所知,这将导致显着的性能损失。这是真的吗,这个问题可以通过其他方式解决吗?
【问题讨论】:
标签: sql .net sql-server transactions isolation