我使用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