Saya menggunakan Query Layer pada SQL Server di ArcMap. Query Layer dieksekusi secara instan di dalam SQL Server tetapi tetapi membutuhkan waktu begitu lama untuk menggambar di ArcMap sehingga sistem tampak tidak responsif selama sekitar 10 menit atau lebih lama. Selama menggambar ArcMap salah satu CPU sudah maksimal pada proses SQL Server.
My Query adalah STIntersects dari buffer pada fitur garis (Shannon) terhadap kelas fitur poligon (Townlands), sebagai berikut;
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
Permintaan mengembalikan 186 baris secara instan. Ini bisa menggambar di panel Spasial SQL Server Management Studio tanpa masalah
Ketika saya membangun Query Layer di ArcMap dengan sintaks yang persis sama, sistem menjadi tidak responsif tetapi akhirnya menggambar. Tampaknya, mungkin, ArcMap tidak menggunakan indeks spasial atau melakukan hal itu berbeda dari SQL Server yang menyebabkan permintaan yang tidak efisien pada SQL Server yang membutuhkan waktu lama untuk kembali.
Adakah yang bisa memberi saran tentang pengobatan?
Terima kasih
ArcGIS Desktop: 10.2
ArcSDE: 10.2
RDBMS: Database and version: SQL Server 2008
OS: Windows Server
Ini adalah batasan yang diketahui untuk menggunakan ArcGIS dengan SQL Server yang tidak memiliki perbaikan sederhana sejauh yang saya ketahui.
Jika perencana kueri SQL Server memutuskan perlu lebih dari satu CPU untuk menjalankan kueri, kemungkinan indeks spasial yang digunakan rendah.
Microsoft mengetahui masalah ini tetapi tidak terburu-buru untuk meningkatkan perencana kueri karena itu akan memengaruhi semua kueri, bukan hanya yang spasial.
Satu-satunya solusi yang dapat diandalkan adalah mengatur derajat paralelisme maksimum (MAXDOP) pada database Anda menjadi 1, tetapi ini berarti semua pertanyaan pada DB itu hanya akan menggunakan 1 CPU per permintaan, memperlambat semuanya.
Membuat tampilan yang mewakili tabel dan memaksa petunjuk indeks spasial tidak berfungsi karena ArcGIS perlu menanyakan metadata dan statistik tabel dan pandangan seperti itu membunuh pertanyaan itu.
sumber
Saya punya masalah serupa. Saya memiliki kelas fitur yang disimpan dalam SQL Server sebagai tipe Geometri. Ada 30 juta catatan di dalamnya & hasilnya menarik, tetapi jika Anda membuat TANDA yang ditautkan ke tabel ke-2, TANDA ini hang dan tidak akan ditampilkan.
Tabel ini memiliki banyak kelas hubungan yang menyertainya. Apakah ini mempengaruhi kinerja permintaan / gambar?
Anda juga dapat mengarahkan saya ke arah pengakuan Microsoft atas masalah ini. Bisakah saya memaksa perencana Query untuk menggunakan indeks spasial?
Tagihan
sumber