Tôi đang sử dụng Lớp truy vấn trên SQL Server trong ArcMap. Lớp truy vấn thực thi ngay lập tức trong SQL Server nhưng mất quá nhiều thời gian để vẽ trong ArcMap nên hệ thống có vẻ không phản hồi trong khoảng 10 phút hoặc lâu hơn. Trong ArcMap, một trong những CPU được tối đa hóa trong quy trình SQL Server.
Truy vấn của tôi là STIntersects của bộ đệm trên đối tượng địa lý (Shannon) đối với lớp đối tượng đa giác (Townlands), như sau;
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
Truy vấn trả về 186 hàng ngay lập tức. Chúng có thể được vẽ trong khung không gian SQL Server Management Studio mà không gặp vấn đề gì
Khi tôi xây dựng Lớp truy vấn trong ArcMap với cùng một cú pháp chính xác, hệ thống sẽ không phản hồi nhưng cuối cùng lại rút ra. Dường như, có lẽ, ArcMap không sử dụng chỉ mục không gian hoặc làm như vậy khác với SQL Server gây ra một truy vấn không hiệu quả trên SQL Server mất một tuổi để trả về.
Bất cứ ai có thể tư vấn về một biện pháp khắc phục?
Cảm ơn
ArcGIS Desktop: 10.2
ArcSDE: 10.2
RDBMS: Database and version: SQL Server 2008
OS: Windows Server