4

我们正在开发一种产品,该产品依赖于 Microsoft Sync Framework,以使客户端应用程序和服务器上的数据保持同步。我们注意到,当同步大约 16 个表和约 2200 条记录时,大约需要 4 分钟,这是不可接受的。

使用 SQL Server Profiler,我们发现它使用 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的“新增功能”部分列出了性能改进。

性能改进

此版本中的新数据库提供程序已经在大规模扩展场景中进行了全面测试,其中单个服务器支持数千个客户端和数百个并发同步操作。该测试导致大量内部性能改进,使 Sync Framework 数据库提供商能够像远程数据访问 (RDA) 等其他 Microsoft 技术一样执行,同时提供与合并复制等端到端解决方案竞争的广泛功能.

于 2009-10-31T21:02:42.470 回答