ArcMapのSQL Serverでクエリレイヤーを使用しています。クエリレイヤーはSQL Serverで即座に実行されますが、ArcMapでの描画に時間がかかりすぎて、システムが約10分以上応答しなくなったように見えます。ArcMapの描画中に、CPUの1つがSQL Serverプロセスで最大になります。
私のクエリは、次のように、ポリゴンフィーチャクラス(Townlands)に対するラインフィーチャ(Shannon)のバッファーのSTIntersectsです。
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 Management Studioの空間ペインに描画できます
まったく同じ構文でArcMapにクエリレイヤーを構築すると、システムが応答しなくなりますが、最終的に描画されます。おそらく、ArcMapが空間インデックスを使用していないか、SQL Serverと異なるため、SQL Serverでクエリが非効率になり、経過時間を返すように見えます。
誰かが治療法についてアドバイスできますか?
ありがとう
ArcGIS Desktop: 10.2
ArcSDE: 10.2
RDBMS: Database and version: SQL Server 2008
OS: Windows Server