4

Microsoft Sync Framework に依存して、クライアント アプリとサーバーのデータの同期を維持する製品を開発しています。私たちが気付いたのは、約 16 のテーブルと ~2200 のレコードを同期する場合、約 4 分かかり、これは受け入れられないことです。

SQL Server プロファイラーを使用すると、sp_executesql を使用してクエリを実行していることがわかりました。sp_executesql なしで実行すると、特定のクエリは 1 秒未満で実行されますが、10 秒以上かかります。

問題は、何が間違っているのか、それをスピードアップするためにできることは何かということです。

4

2 に答える 2

2

sp_executesql は動的 SQL を使用しています。各行は個別に処理されています。

4 分はかなり長いように思えます。16 個のテーブルの設計を見て、それらのパフォーマンスを確認する必要があります。実行計画を使用して、ボトルネックが発生している可能性がある場所を確認してください。

基本をカバーするこのリンクをチェックしてください:

SQL 実行計画の基本

SQL Management Studio の実際のグラフィカル インターフェイスのスクリーン ショットがある記事の一番下までスクロールしてみてください。この記事には退屈な部分もありますが、少なくともグラフィカルな実行計画とその利点を確認できます。

于 2008-12-04T02:10:55.967 に答える
0

パフォーマンスの向上は、MSDN のSync Framework 2.0の「新機能」セクションに記載されています。

パフォーマンスの向上

このリリースの新しいデータベース プロバイダーは、1 台のサーバーが数百の同時同期操作で数千のクライアントをサポートする大規模なスケール アウト シナリオで徹底的にテストされています。このテストの結果、多くの内部パフォーマンスが改善され、同期フレームワーク データベース プロバイダーは、リモート データ アクセス (RDA) などの他の Microsoft テクノロジと同様に機能し、マージ レプリケーションなどのエンド ツー エンド ソリューションと競合する幅広い機能を提供できるようになりました。 .

于 2009-10-31T21:02:42.470 に答える