2013-12-23 3 views
0

복잡한보고 sprocs를 중앙 서버로 옮기고 시간이 5 초에서 30 초가되었습니다. ----연결된 서버를 길게 선택

10 초

1355 행 : 만이 보고서는 이러한 쿼리에 필요한 것을 지방 당겨를 시도하고

print '04 NWA Raw data Numeric' 
print datediff(ss, @now, getdate()) 
set @now = GETDATE() 

:

무엇을 통해 너무 오래 걸릴 검증 28 SECON에서

select * 
into #nwaDump 
from [Phoenix].[NWA].dbo.QISDataNumeric 
where rowguid in (
select rowguid from [Phoenix].[NWA].[dbo].[QISDataText] nd 
where nd.DataValue in ('41310291   ') 
) 

249 개 행 DS

select * 
into #nwaText 
from [Phoenix].[NWA].[dbo].[QISDataText] td 
where td.DataValue in ('41310291   ') 

같은 두 개의 쿼리가 다른 서버에 < 일초 반환 시간을 실행합니다.

아이디어가 있으십니까?

답변

1
당신이 연결된 서버에있는 필터를해야하기 때문에, 이것에 대한 OPENQUERY를 사용하고 다른 서버로 끌어 시도 할 수 있습니다

:

SELECT * 
INTO #nwaText 
FROM OPENQUERY(Phoenix,'SELECT * FROM [NWA].[dbo].[QISDataText] 
         WHERE DataValue in (''41310291   '')') 
+0

내가 둘 때 나는 OpenQuery를 필요하지 않은 것을 발견 in 절에 대한 실제 값. 그것은 나를 죽이고있는 Into #이었다. – SteveO