0

통합 결과를 반환하는 일부 Select 문을 포함하는 저장 프로 시저가 있습니다.일괄 처리로 작동하는 Select 문과 다중 선택 문 사이의 비교

여러 개의 Select 대신 하나의 select를 생각하고 쓰고 실행 계획 (SP와 하나의 Select 문)을 비교하고 싶습니다.

이 twe 문 (SP 및 선택)을 실행할 때 문제가 발생합니다. 실행 계획이있는 SP의 모든 select 문. UN의 SP 실행 계획을 갖고 싶습니다.

다른 질문이 있습니다.이 게시물에 첨부 된 실행 계획을 고려하십시오. 모든 명세서의 실행 계획의 총 비용은 100 % 여야합니까?

하지만이 실행 계획의 모든 계산서의 합계 비용이 100 %가 아닌 이유는 무엇입니까?

Execution plan

감사

+2

실행 계획에 액세스 할 수 없으며 합계가 100 %보다 크거나 작습니까? 그리고 얼마나 떨어져 있니? – Rozwel

+1

실행 계획에 액세스 할 수 없으며 액세스 계획에 "무료"rapidshare 계정을 만들면 저주받을 것입니다. 대부분 당신은 문제가 있다고 생각하지 않았지만 많은 자원 봉사자들을 해산시켜야 할 수도 있습니다. –

+0

@Lieven : 다시 변경했습니다. 시도해보십시오. – Arian

답변

0

당신의 라인을 따라 다음 스크립트를 논리의 두 버전을 비교하려는 경우 :

Exec <storedProc> 

Select <data> From <tables> 

당신이 그것을 할 수 있도록 할 것이다. 네, 실행 계획은 저장된 프로 시저 안에있는 모든 쿼리를 보여줍니다. SP 외부에서 발생하는 쿼리 계획을 찾습니다. 총 비용이 50 % 이상이면 SP가 더 잘 수행됩니다.

SP가 매개 변수를 사용하는 경우 매개 변수 값의 범위에서 실행 계획을 비교해야합니다.

+0

실행 계획에 대한 링크가 변경되었습니다. 지금 다운로드 할 수 있습니다. – Arian

0

UNION 여러 SELECT 문입니다. 본질적으로 "이 쿼리의 결과를이 쿼리의 결과와 함께 표시하고이 쿼리의 결과와 결합했습니다."라고 말합니다. SQL Server는 이러한 쿼리를 실행하지 않고 해당 쿼리의 결과를 어떻게 얻을 수 있습니까?

+0

SP 단위로 비용을 실행하고 싶습니다. 모두 선택하지 않아도됩니다. sp – Arian

+0

@Nima 내부 - 하나의 SELECT 문으로 다시 작성하십시오. 만약 당신이 여러개의 SELECT를 가지고 있다면 그것은 하나의 단위가 아닙니다. SQL Server는 독립적으로 실행해야합니다. – JNK