我正在使用tablediff.exe工具比较两个表的差异,并在远程SQL Server上生成更改脚本,但执行时间非常长(超过1.5小时后我放弃了)。 tablediff.exe在我的本地机器上运行,但是数据库在另一台服务器上(这些是要求 - 我对此无能为力)
我已经分析了SQL Server,它似乎执行查询的速度比我预期的要慢得多。
这些表有大约200万条记录,但是当我在本地机器上执行此操作时,它看起来要少得多(大约2-3分钟)。
我试图找出原因可能是什么,以及是否有办法加快速度?
答案 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