Я використовую рівень запитів на SQL Server в ArcMap. Рівень запитів миттєво виконується в SQL Server, але в ArcMap забирається стільки часу, що система виявляється невідповідною приблизно 10 хвилин або довше. Під час малювання ArcMap один із процесорів виводиться на процес SQL Server.
Мій запит - це STIntersects буфера на лінійці (Shannon) проти класу характеристик багатокутника (Townlands), наступним чином;
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 Studio Studio
Коли я будую рівень запитів в ArcMap з точно таким же синтаксисом, система стає невідповідною, але в кінцевому підсумку малює. Схоже, що, можливо, ArcMap не використовує просторовий індекс або робить це відмінним від SQL Server, викликаючи неефективний запит на SQL Server, який потребує повернення віку.
Хтось може порадити ліки?
Дякую
ArcGIS Desktop: 10.2
ArcSDE: 10.2
RDBMS: Database and version: SQL Server 2008
OS: Windows Server