1
저장 프로 시저를 사용하여 데이터를 가져오고 동적으로 필터링해야했습니다. 예를 들어 id가 5, 10 또는 12 인 일부 데이터를 가져 오지 않으려는 경우 프로 시저에 문자열로 보내고 사용자 정의 함수를 통해 테이블로 변환합니다. 하지만 난 그래서 여기에 성능을 생각해 보자 예입니다해야합니다
사용자 정의 함수 및 성능 사용?
해결 방법 1 :
SELECT *
FROM Customers
WHERE CustomerID NOT IN (SELECT Value
FROM dbo.func_ConvertListToTable('4,6,5,1,2,3,9,222',','));
해결 방법 2 : 성능을 위해 더 나은 솔루션
CREATE TABLE #tempTable (Value NVARCHAR(4000));
INSERT INTO #tempTable
SELECT Value FROM dbo.func_ConvertListToTable('4,6,5,1,2,3,9,222',',')
SELECT *
FROM BusinessAds
WHERE AdID NOT IN (SELECT Value FROM #tempTable)
DROP TABLE #tempTable
?