2011-10-11 45 views
1

有没有人知道__syncTransactions表用于什么?这里是我的情况:SQL Compact数据库中的__syncTransactions表的功能是什么

我们对SQL Server Compact数据库使用的Sync Framework v3.5版本了大约一年,现在的SQL Server 2008 Express服务器数据库同步运行的几个客户。对于有大量记录(即> 20000)的表来说,似乎大约需要一分多钟才能同步,并且CPU也达到100%。

实现同步跟踪记录后,我设法缩小,这是慢同步背后的查询。以下是检查客户端数据库插入为包含表的一个〜70000个的记录查询:从

选择 UT * 从 [tblPermissionGroupResourceRole]作为选择 UT0 * 。 UT0 其中
(ut0._ sysTrackingContext <> 'a4e40127-4083-4b27-88d0-ef3aed4ae343' OR UT0。 _sysTrackingContext IS NULL )
AND(ut0._ sysChangeTxBsn> = 9486853)
AND(UT0。
_sysInsertTxBsn NOT IN(SELECT SyncBsn FROM __syncTransactions))

)作为UT LEFT OUTER JOIN
( 选择 txcs0。* 从 _ sysTxCommitSequence作为txcs0 )作为txcs ON(UT。 _sysInsertTxBsn = txcs._ sysTxBsn) WHERE
COALESCE(txcs。
_sysTxCsn,ut._ sysInsertTxBsn)> 9486853 AND COALESCE(txcs。 _sysTxCsn,ut .__ sysInsertTxBsn)< = 9487480

我突出显示了需要大约1分钟才能执行的行。原因是__syncTransaction表包含大约1200条记录,并且由于我的tblPermissionGroupResourceRole表中有70,000个奇数记录的交叉引用,查询速度很慢。

因此,我需要了解__syncTransactions表是如何使用的,所以我可以尝试,并从该表中明确记录或是否有任何其他的方式来理清我的问题?

任何帮助,非常感谢。

亲切的问候, Sasanka。

回答

相关问题