【发布时间】:2011-01-17 11:25:32
【问题描述】:
我有一个在服务器 (ServerA) 上运行的 sql 脚本 此服务器已设置链接服务器 (ServerB) - 它位于数据中心的异地。
这个查询运行得比较快:
SELECT OrderID
FROM [ServerB].[DBName].[dbo].[MyTable]
WHERE Transferred = 0
但是,当使用此查询更新同一个表时:
UPDATE [ServerB].[DBName].[dbo].[MyTable]
SET Transferred = 1
完成需要 > 1 分钟(即使只有 1 列 Transferred = 0)
有什么理由会这么慢吗? 我应该在 MyTable 上为“Transferred”列创建索引吗?
【问题讨论】:
-
只是一个想法 - 您是否尝试将
where transferred = 0添加到更新语句中?不确定这是否会有所作为。另外,看看这两个查询的执行计划。
标签: sql sql-server linked-server