Mengapa gabung sederhana pada dataset kecil memperlambat ArcMap?

13

ArcGIS 9.3.1, ArcInfo. Saya punya beberapa file geodatabase dan SDE Featureeclasses kecil (masing-masing beberapa catatan, 50 kolom) yang saya lakukan atribut bergabung. Setelah bergabung, menggambar peta diperlambat dari sub-detik hingga beberapa detik setiap kali, terkadang lebih. Tambahkan beberapa pertanyaan definisi yang merujuk bidang dari gabungan dan saatnya untuk mendapatkan secangkir kopi sambil menggambar ulang. Adakah ide mengapa ini terjadi? Adakah yang pernah mengalami ini?

Chad Cooper
sumber
6
Apakah bidang gabung Anda diindeks?
Derek Swingley
Tidak, mereka tidak diindeks.
Chad Cooper
9
Untuk menjawab pertanyaan terakhir Anda, Chad: ya, saya mengalami kinerja bergabung yang buruk di setiap versi ArcGIS. Kemajuan besar dalam kecepatan komputasi selama dekade terakhir masih belum mampu mengimbangi penurunan rutin dalam kinerja dengan setiap rilis baru. Itulah salah satu alasan utama saya tidak dapat menggunakannya untuk pekerjaan analitis. (Untuk pekerjaan kartografi, ini adalah cerita yang berbeda.)
whuber
Pertanyaan @ Swingley mungkin menjadi jawaban untuk masalah Anda. Bergabung dengan kolom yang tidak diindeks akan serius memperlambat segalanya. Anda mungkin akan mendapatkan peningkatan besar dalam kecepatan hanya dari membuat indeks pada bidang itu. Anda mungkin juga perlu memindahkan beberapa hal dari file geodatabase ke SDE; Akses bukan yang tercepat di blok jadi beralih ke SqlServer atau Oracle juga bisa membantu Anda dengan masalah kecepatan.
Michael Todd
2
@ Jay: ya Swingley adalah orang pertama yang meletakkan batu kunci di tempatnya, dan mendapat 3 upvotes untuk itu, namun Anda melangkah lebih jauh dan menjelaskan sebuah metode. Semua orang menang. :) Kami berusaha untuk membangun lebih dari sekedar jawaban yang benar, tetapi juga yang terbaik. Mereka tidak selalu ditemukan dalam satu wadah secara bersamaan.
matt wilkie

Jawaban:

10

Saya secara teratur perlu bergabung dengan dept.

Menyalin ke file lokal geodatabase + index build benar-benar mempercepat segalanya.

Karena bersifat sementara, saya biasanya akan melakukan ini pada disk RAM http://t.co/EBTeOem .

Bergantung pada data Anda, bidang pengindeksan yang Anda gunakan untuk menyimbolkan atau bidang yang digunakan dalam kueri definisi dapat membantu.

Jay Cummins
sumber
Tidak pernah memikirkan bidang pengindeksan yang menjadi dasar simbologi. Apakah Anda menemukan ini meningkatkan kinerja rendering pada peta redraws / refresh?
Chad Cooper
Saya akan mengubah jawaban - bidang pengindeksan yang digunakan untuk rendering tidak akan membantu dalam setiap kasus dan saya tidak tahu pasti apakah itu membantu untuk file geodatabase. Ini lebih merupakan kebiasaan berdasarkan ingatan saya tentang bagaimana sde featureclasses telah dilakukan di masa lalu (menggunakan se_toolkit).
Jay Cummins