tablediff工具需要很长时间才能执行

时间:2011-10-04 13:53:34

标签: sql-server performance sql-server-2008 compare

我正在使用tablediff.exe工具比较两个表的差异,并在远程SQL Server上生成更改脚本,但执行时间非常长(超过1.5小时后我放弃了)。 tablediff.exe在我的本地机器上运行,但是数据库在另一台服务器上(这些是要求 - 我对此无能为力)

我已经分析了SQL Server,它似乎执行查询的速度比我预期的要慢得多。

这些表有大约200万条记录,但是当我在本地机器上执行此操作时,它看起来要少得多(大约2-3分钟)。

我试图找出原因可能是什么,以及是否有办法加快速度?

1 个答案:

答案 0 :(得分:1)

tablediff.exe从远程服务器获取所有数据并在本地进行比较。上传/下载200万行的时间很长。

进行特定查询并在远程服务器中执行。例子: 等于行

SELECT * FROM bd1.schema1.table1
INTERSECT 
SELECT * FROM bd2.schema2.table2

bd1.schema1.table1中的行而不是bd2.schema2.table2中的行

SELECT * FROM bd1.schema1.table1
EXCEPT
SELECT * FROM bd2.schema2.table2