SQL Server 2005에는 다음과 같은 문제가 있습니다. 테이블 변수에 일부 행을 삽입하려고하면 임시 테이블을 사용하는 동일한 삽입에 비해 많은 시간이 걸립니다.
이것은 테이블 변수에 삽입하는 코드입니다
DECLARE @Data TABLE(...)
INSERT INTO @DATA( ... )
SELECT ..
FROM ...
임시 테이블에 삽입 할 코드입니다.
CREATE #Data TABLE(...)
INSERT INTO #DATA( ... )
SELECT ..
FROM ...
DROP TABLE #Data
임시 테이블에는 키 또는 인덱스가 없으며 선택 부분은 두 쿼리간에 동일하며 선택에 의해 반환되는 결과 수는 ~ 10000 행입니다. 선택 만 실행하는 데 필요한 시간은 ~ 10 초입니다.
임시 테이블 버전을 실행하는 데 최대 10 초가 걸리므로 5 분 후에 테이블 변수 버전을 중지해야했습니다.
쿼리가 테이블 값 함수의 일부이기 때문에 테이블 변수를 사용해야합니다. 이는 임시 테이블에 대한 액세스를 허용하지 않습니다.
테이블 변수 버전의 실행 계획
임시 테이블 버전의 실행 계획
EXEC
.... 함수에 내가 잘못 생각