1
SQL Server Management Studioを使用して、バルクデータをデータベーステーブルの1つに挿入しています。現在、データベースに送信されるデータがテーブル内の特定の行に追加される位置にあります(これはストアドプロシージャによって制御されます)。私たちが探しているのは、操作が完了する前にタイムアウトが発生していることです。この時点では、whileループのために操作が遅いと思っていますが、より高速な同等の方法にアプローチする方法はわかりません。 @nonexistingTblCount
テーブル@nonexistingTbl
内部行の総数であるSQLを使用したバルクデータの追加/更新
-- Insert statements for procedure here
WHILE @i < @nonexistingTblCount
BEGIN
Insert into AlertRanking(MetricInstanceID,GreenThreshold,RedThreshold,AlertTypeID,MaxThreshold,MinThreshold)
VALUES ((select id from @nonexistingTbl order by id OFFSET @i ROWS FETCH NEXT 1 ROWS ONLY), @greenThreshold, @redThreshold, @alertTypeID, @maxThreshold, @minThreshold)
set @id = (SELECT ID FROM AlertRanking
WHERE MetricInstanceID = (select id from @nonexistingTbl order by id OFFSET @i ROWS FETCH NEXT 1 ROWS ONLY)
AND GreenThreshold = @greenThreshold
AND RedThreshold = @redThreshold
AND AlertTypeID = @alertTypeID);
set @i = @i + 1;
END
。 @nonexistingTbl
テーブルは以前に宣言されており、テーブルに追加するすべての値を含んでいます。
ここで@idパラメータを使用していますか? – mikey