我下面有一个更新
第一个查询语句稳定,但性能存在问题:
这是我的第二个选项,下面是查询语句:
HierarchicalTable
上特定id的查询语句。第一个查询语句稳定,但性能存在问题:
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
我的问题是:
第二个查询是否与第一个查询执行方式相同?
第二个查询是否比第一个查询更快?
*注意:我有大量数据,而且我们在执行这些查询时遇到了硬件问题。
我在这里发帖是为了听取任何意见。
hierarchical(parentname, id)
和hierarchical(name, id)
是否是id
列上的重复索引? - Shermay