2012-05-08 2 views
0

3 개의 다른 테이블에서 3 개의 단일 값을 반환하고자합니다.SQL 서버에서 다중 선택 대신 단일 선택 반환

코드 1 :

declare @acc_cnt int, @selected_item int, @worker_cnt int 
select @acc_cnt=count(0) from accounts 
select @selected_item=id from items where name='something' 
select @worker_cnt=count(0) from workers 
select @acc_cnt ,@selected_item,@worker_cnt 

코드 2 :

select count(0) from accounts 
select id from items where name='something' 
select count(0) from workers 

은 더 나은 (저장 프로 시저의) 자원 사용과 성능을 고려하고 이러한 코드의 어느 알고 싶어 3 개의 선택 항목과 하나의 선택 항목을 반환하는 데 차이가 있습니까? SQL Server 2008을 사용 중입니다.

+1

이 질문은 C#과 아무 관련이없는 것으로 보입니다. C#과 관련된 내용을 설명하거나 C# 태그를 제거하십시오. – phoog

+0

잘 반환 값은 C# asp.net에 의해 처리됩니다. 실제로 응답자가 반환 값을 처리하는 방법을 알기 위해 응답자를 돕기 위해 작성했습니다. –

+0

이 질문을 통해 저에게 전체 저장 프로 시저를 표시하고 성능 조정을위한 더 나은 후보를 식별 할 수있는 사람을 말합니다. 질문은 선택의 여지가 두 가지 밖에 없기 때문에 다소 낭비됩니다. 예를 들어,'UNION ALL'은'SELECT'가 고려되었습니다. –

답변

0

숫자 2는 변수를 선언하고 소량의 메모리를 저장하지 않으므로 성능이 향상되어 SLIGHTLY이됩니다.

참고 : 성능 향상은 거의 측정 할 수 없습니다.