我在更新某些 id 的查询下方有HierarchicalTable
.
我的第一个查询很稳定,但我的性能有问题:
DECLARE @targetName varchar(100)
UPDATE a
SET a.PrimaryId = b.PrimaryId
, a.SecondaryId = b.SecondaryId
FROM
(
SELECT PrimaryId
, SecondaryId
FROM Hierarchical
WHERE ParentName = @targetName
) as a
JOIN
(
SELECT PrimaryId
, SecondaryId
FROM Hierarchical
WHERE Name = @targetName
) b
ON a.ParentId = b.Id
下一个查询是我的第二个选项:
DECLARE @targetName varchar(100)
UPDATE a
SET a.PrimaryId = b.PrimaryId
, a.SecondaryId = b.SecondaryId
FROM Hierarchical a
JOIN Hierarchical b
ON a.ParentId = b.Id
WHERE a.ParentName = @targetName
AND b.Name = @targetName
我的问题是:
第二个查询是否像第一个查询一样执行?
第二个查询会优于第一个查询吗?
*注意:我有大量数据,我们在执行这些查询时遇到了硬件问题。
我已经在 SO 发帖,以便我可以有任何可以看到的意见。