ArcMap의 SQL Server에서 쿼리 계층을 사용하고 있습니다. 쿼리 계층은 SQL Server에서 즉시 실행되지만 ArcMap에서 그리는 데 시간이 오래 걸리므로 시스템이 약 10 분 이상 응답하지 않습니다. ArcMap을 그리는 동안 CPU 중 하나가 SQL Server 프로세스에서 최대가됩니다.
내 쿼리는 다음과 같이 다각형 피처 클래스 (Townlands)에 대한 선 피처 (Shannon)의 버퍼의 STIntersects입니다.
SELECT TOWNLANDS.TL_ID,TOWNLANDS.Shape FROM dbo.TOWNLANDS as townlands
with(index(FDO_Shape))
JOIN dbo.Shannon on townlands.Shape.STIntersects
(Shannon.Shape.STBuffer(2.0))=1
쿼리는 186 개의 행을 즉시 반환합니다. SQL Server Management Studio 공간 창에서 문제없이 그릴 수 있습니다.
정확히 동일한 구문으로 ArcMap에서 쿼리 레이어를 만들면 시스템이 응답하지 않지만 결국에는 그립니다. 아마도 ArcMap이 공간 인덱스를 사용하지 않거나 SQL Server와 다르게 동작하여 SQL Server에서 비효율적 인 쿼리를 발생시키는 데 시간이 오래 걸리는 것처럼 보입니다.
누구나 치료법에 대해 조언 할 수 있습니까?
감사
ArcGIS Desktop: 10.2
ArcSDE: 10.2
RDBMS: Database and version: SQL Server 2008
OS: Windows Server