#itemtemp
から 1 つのレコードを取得し、その一致からすべてのエントリを見つけてReportCSharp
、それらの一致を に挿入するクエリがあります#link_table
。#itemtemp
現在、クエリは 7.5 分で実行されますが、テーブル内の 1458 レコードのみを反復処理するには時間がかかるようです。
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
ループを削除して、より多くのセットベースの操作に置き換えるにはどうすればよいですか?