大量明細の高速INSERT
DECLARE @p_NumberOfRows Bigint SELECT @p_NumberOfRows=1000000; WITH Base AS ( SELECT 1 AS n UNION ALL SELECT n+1 FROM Base WHERE n < CEILING(SQRT(@p_NumberOfRows)) ), Expand AS ( SELECT 1 AS C FROM Base AS B1, Base AS B2 ), Nums AS ( SELECT Row_Number() OVER(ORDER BY C) AS n FROM Expand ) INSERT INTO T_Test SELECT n, 'DATA' + right('0000000000' + convert(varchar, n), 10), '0', '0', '0' FROM Nums WHERE n <= @p_NumberOfRows OPTION (MaxRecursion 0);