我有一个查询,它从 中获取一条记录#itemtemp
,并从该匹配项中找到所有条目ReportCSharp
,将这些匹配项插入到#link_table
. 目前,查询运行时间为 7.5 分钟,这对于仅迭代表中的 1458 条记录来说显得很慢#itemtemp
。
DECLARE
@num int
, @path varchar(100)
, @output varchar(100)
, @max int
SET @num = 1
SET @max = (SELECT max(num) FROM #itemtemp)
WHILE @num < @max
BEGIN
SET @path = (SELECT path from #itemtemp where num = @num)
INSERT INTO #link_table
SELECT
itemId
, Path
, @path
FROM ReportCsharp
WHERE Script like '%"' + @path + '"%'
SET @num += 1
END
如何删除WHILE
循环并替换为更多基于集合的操作?