2014-02-13 2 views
0

UNION을 사용하는 쿼리가 있지만 느리게 작동합니다.UNION 대신 무엇을 사용해야합니까?

Select col1, col2 From table_1 (INDEX idx MRU) 
    where (condition) 
UNION 
Select col1,col2 From table 2(INDEX idx MEU) 
    where (condition) 

어떻게하면 더 빨리 작동시킬 수 있습니까?

+1

'UNION'은 두 개의 개별 쿼리를 연속적으로 실행하는 속도가 느립니다? –

답변

0

음, 그것은 테이블이 얼마나 큰에 따라는 '어디에'조항 등이 얼마나 선택적

당신은이 "에 대한 실행 계획을 설정"다음 출력을 줄 것이다 당신의 쿼리를 실행하고 시도 할 수 있습니다

쿼리 최적화 프로그램에서. 그러나 showplan 출력을 이해하는 것은 중요하지 않습니다. 또한 테이블에서 "update statistics"를 실행하여 쿼리 최적화 프로그램이 올바른 결정을 내릴 수 있도록하십시오.

하나의 노트에서 유니온 연산자는 암시 적으로 별개의 작업을 수행합니다. 즉, tempdb에서 결과를 정렬 할 것입니다. 중복에 대해 신경 쓰지 않는다면 대신 "조합 전체"를 사용하십시오.

관련 문제