나는이 표 열라는 테이블 :간단한 링크 된 서버 선택 쿼리를 최적화하는 방법?
- ID (INT, 기본 키, 클러스터, 고유 인덱스)
- TEXT (VARCHAR (15))
MSSQL 연결된 서버에 LS이라고합니다. 연결된 서버가 동일한 서버 컴퓨터에 있습니다. 그리고 :
내가 전화 할 때 :
는SELECT ID, TEXT FROM OPENQUERY(LS, 'SELECT ID, TEXT FROM Table')
이 400 MS 걸립니다.
내가 전화 할 때 :
이SELECT ID, TEXT FROM dbo.Table
그것은 100 밀리 취
는SELECT ID, TEXT FROM LS.dbo.Table
이 200 MS
내가 LS 서버에있는 동안 직접 쿼리를 호출 할 때 소요.
많은 곳에서 OPENQUERY는 더 빠르다고 읽었지만이 간단한 경우 작동하지 않는 것 같습니다. LS가 아닌 다른 서버에서이 쿼리를 더 빨리 호출하려면 어떻게해야합니까?
연결된 서버가 다른 유형 (예 : Oracle) 인 경우에만 OpenQuery를 사용해야했습니다. 그 차이는 항상 ie라고 표시됩니다. x2? 더 많은 데이터를 요청하는 더 큰 쿼리를 보내려면/더 무거운 필터가 표시된 오버 헤드입니까? – CResults
@CResults - 필터가 더 복잡한 경우 오버 헤드가 더 크며, 차이는 여러 번의 평가에서 평균입니다. 특정 쿼리에는 매우 다른 시간이 있습니다. –