루프에서 쿼리 성능을 테스트하고 있습니다. 결과 집합을 백 개의 복사본으로 반환하는 대신 select 문을 수백 번 실행하여 매번 결과를 삭제합니다.PostgreSQL "PERFORM"키워드에 해당하는 TSQL?
PostgreSQL은 "select select ..."구문을 사용하여 select 문을 실행하고 결과를 무시합니다. "37.6.2 결과가없는 쿼리 실행"http://www.postgresql.org/docs/8.2/static/plpgsql-statements.html
TSQL에 동일한 키워드가 있습니까?
SSMS에 "Discard results"옵션이 있지만 각 반복 후에 결과가 삭제되지 않고 모든 반복이 완료 될 때까지 메모리에 누적되는 것으로 나타납니다. 임시 변수를 선택하는 것이 효과적 일지 모르지만 키워드로 결과를 삭제하는 것이 훨씬 간단합니다. 오히려 테이블 변수 정의의 생성과 결과를 임시 테이블에 저장하는 잠재적 인 오버 헤드를 피할 것입니다.
저는 ADO가 아닌 TSQL에서 실행하고 있습니다. 이 문제는 결과 집합을 무시할 문제가 아닙니다. ExecuteNonQuery가 아는 한 모두 수행합니다. 문제는 SQL Server가 단일 SELECT 문이 끝나자 마자 결과 집합을 무시한다는 것입니다. 수천 개의 SELECT 문이 단일 TSQL 일괄 처리의 루프에서 실행되므로 효과적으로 낭비하지 않고 문 성능을 테스트 할 수 있습니다. 시험에 방해가된다. – Triynko