J'utilise une couche de requête sur SQL Server dans ArcMap. La couche de requête s'exécute instantanément dans SQL Server mais prend tellement de temps à dessiner dans ArcMap que le système ne répond plus pendant environ 10 minutes ou plus. Pendant le dessin ArcMap, l'un des processeurs est au maximum sur le processus SQL Server.
Ma requête est le STIntersect d'un tampon sur une entité linéaire (Shannon) par rapport à une classe d'entités surfaciques (Townlands), comme suit;
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 requête renvoie instantanément 186 lignes. Ceux-ci peuvent être dessinés dans le volet Spatial de SQL Server Management Studio sans problème
Lorsque je crée une couche de requête dans ArcMap avec exactement la même syntaxe, le système ne répond plus mais dessine finalement. Il semble que, peut-être, ArcMap n'utilise pas l'index spatial ou le fait différemment de SQL Server, provoquant une requête inefficace sur SQL Server qui prend un certain temps pour revenir.
Quelqu'un peut-il conseiller un remède?
Merci
ArcGIS Desktop: 10.2
ArcSDE: 10.2
RDBMS: Database and version: SQL Server 2008
OS: Windows Server