Sto usando un livello di query su SQL Server in ArcMap. Il livello di query viene eseguito immediatamente in SQL Server, ma impiega così tanto tempo a disegnare in ArcMap che il sistema non risponde per circa 10 minuti o più. Durante l'estrazione di ArcMap, quella della CPU è al massimo nel processo di SQL Server.
La mia query è la STIntersects di un buffer su una feature linea (Shannon) contro una poligono feature class (Townlands), come segue;
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
La query restituisce 186 righe all'istante. Questi possono essere disegnati nel riquadro spaziale di SQL Server Management Studio senza problemi
Quando creo un livello di query in ArcMap con esattamente la stessa sintassi, il sistema non risponde ma alla fine disegna. Sembra che ArcMap non stia usando l'indice spaziale o lo stia facendo diversamente da SQL Server causando una query inefficiente su SQL Server che impiega un'età per tornare.
Qualcuno può consigliare un rimedio?
Grazie
ArcGIS Desktop: 10.2
ArcSDE: 10.2
RDBMS: Database and version: SQL Server 2008
OS: Windows Server