Microsoft Sync Framework 2.1 を使用して、多数の同時エンド ユーザーを中央データベース サーバーと同期しています。
環境:
- 1 つの中央データベース サーバーに接続する 1500 の同時クライアント
- Web サービスはサーバー側の SyncProvider として使用されます
- 2.000.000 レコードを超える複数のテーブルがあります
問題
SelectChanges SP は定期的に時間切れになります (CommandTimeout = 60)。
おそらく非常に遅い理由:
- Sync Framework は local_update_peer_timestamp 列にインデックスを作成しますが、まったく使用しません。
- 統計を再作成した後でも、インデックスは使用されません
- インデックス ヒントは、シーク操作の代わりにフル インデックス スキャンを引き起こします (指定されたタイムスタンプが最大の local_update_peer_timestamp 値よりもはるかに大きい場合でも)
質問 私の意見では、何かが本当にうまくいっていません。MS Sql Server 2008 R2 は適切な実行計画を作成できるはずです
- Select Changes を改善するにはどうすればよいですか?
- 8.000.000 レコードを超える可能性のあるテーブルを考慮する
- SQL Serverがインデックスを使用して実行計画を構築していることを確認する
- このクエリが遅すぎるその他の潜在的な理由はありますか?