我们将实施一种机制来跟踪 SQL Server 2008 应用程序数据库中的更改。程序员担心 INSERT 速度受到负面影响,因此我着手测试三种情况:没有跟踪更改的机制、更改跟踪和更改数据捕获 (CDC)。
在我的所有测试中,INSERT 的速度似乎没有显着差异。这有意义吗?在从我们的要求列表中删除此问题之前,我想确保我没有忽略任何内容。
(注意:我的测试显示了与 UPDATES 的差异,但我们只关心 INSERTS)
编辑:我的测试相对简单,插入到类似生产的表中,但有 250K。这些过程运行了 5 分钟多,所以我很高兴这对我们的环境来说已经足够了。
是的,这是有道理的,CDC 是通过日志读取器维护的,除了日志驱动器上的读取开销和对捕获表的写入之外,它不应影响插入率。他们正在考虑(老派 :))通过触发器进行跟踪,这很容易影响插入率。
但为了安全起见,请确保您的测试运行时间足够长,以便阅读器的开销能够主动捕获插入内容。