Ich verwende eine Abfrageebene unter SQL Server in ArcMap. Die Abfrageebene wird sofort in SQL Server ausgeführt, das Zeichnen in ArcMap dauert jedoch so lange, dass das System etwa 10 Minuten oder länger nicht mehr reagiert. Während des ArcMap-Zeichnens wird diejenige der CPUs im SQL Server-Prozess maximal genutzt.
Meine Abfrage ist die STIntersects eines Puffers in einem Linien-Feature (Shannon) gegen eine Polygon-Feature-Class (Townlands) wie folgt;
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
Die Abfrage gibt sofort 186 Zeilen zurück. Diese können problemlos im räumlichen Bereich von SQL Server Management Studio gezeichnet werden
Wenn ich in ArcMap eine Abfrageebene mit genau derselben Syntax erstelle, reagiert das System nicht mehr, zeichnet aber schließlich. Es sieht so aus, als würde ArcMap den räumlichen Index möglicherweise nicht verwenden oder unterscheidet sich von SQL Server, was zu einer ineffizienten Abfrage in SQL Server führt, deren Rückgabe einige Zeit in Anspruch nimmt.
Kann jemand über ein Heilmittel beraten?
Vielen Dank
ArcGIS Desktop: 10.2
ArcSDE: 10.2
RDBMS: Database and version: SQL Server 2008
OS: Windows Server