我使用Microsoft同步框架2.1至大量的并发最终用户与中央数据库服务器同步。同步框架选择更改存储过程 - 性能/可扩展性/改进
环境:连接到1个中央数据库服务器
- 1500并发客户
- 一个web服务将被用作服务器端的SyncProvider
- 有超过2.000.000记录 多个表
问题
的SelectChanges SP regularl y用完时间(CommandTimeout = 60)。
之所以它可能是很慢:
- 同步框架上local_update_peer_timestamp列创建索引,但不使用它。
- 即使重建统计指标不使用
- 索引提示引起全索引扫描,而不是寻求操作(即使给定的时间戳比最大local_update_peer_timestamp值的方式更大)
问题 在我看来有些事情是会非常糟糕。 MS Sql Server 2008 R2应该能够创建适当的执行计划
- 如何改进选择更改?
- 考虑到表可在8.000.000记录
- 增长确保SQL Server可使用索引来建立执行计划
- 是否还有其他可能的原因,为什么这个查询太慢?
感谢您的回答,我担心增加CommandTimeout作为最终解决方案。我已经做了这个临时解决方案,我想要一个真正的改进,但仍然感谢您的提示。关于过滤的列。谢谢我会尽力通过这样做来提高性能。如果我有一些改进,我会注意到你,如果你对我的解决方案感到好奇。谢谢!! – hwcverwe 2012-04-16 16:50:36