Yang mana yang akan memberikan kinerja terbaik untuk bekerja dalam ArcMap dengan kumpulan data sangat besar yang disimpan dalam geodatabase ArcSDE? Beberapa kelas label menggunakan kueri SQL kompleks untuk melabeli fitur tertentu, atau beberapa salinan dari lapisan yang sama menggunakan kueri SQL kompleks yang sama yang ditetapkan sebagai kueri definisi untuk setiap lapisan?
11
Jawaban:
Dengan asumsi query SQL pada kelas label sama dengan yang ada di lapisan split, pendekatan lapisan tunggal dengan kelas label ganda akan lebih cepat. Mengapa?:
Pelabelan di ArcMap akan mengeksekusi satu kueri untuk lapisan gambar dan kemudian satu kueri untuk setiap kelas label. Jadi sebuah layer dengan 4 kelas label akan melakukan kueri sekali (1 kueri) untuk semua fitur yang diambil dan kemudian total 4 kali tambahan (satu untuk setiap kelas label atau 4 kueri lagi) = 5 kueri total
Jika Anda membagi lapisan, Anda akan memiliki 1 kueri yang difilter (kueri definisi) untuk setiap lapisan (4 kueri) ditambah kueri yang sama untuk setiap kelas label (4 kueri lagi) = 8 kueri total
Dalam hampir semua kasus, 5 kueri akan lebih cepat dari 8 kueri karena hanya overhead kueri meskipun tergantung pada sumber data.
Catatan, di ArcGIS Server cache digunakan untuk pelabelan fitur dan 1 layer dengan 4 kelas label kemungkinan besar akan ditangani melalui satu permintaan ketika kelas label menggunakan SQL standar yang cukup tanpa fungsi khusus vendor.
sumber
Saya menjalankan beberapa tes yang sangat sederhana menggunakan beberapa data NHD yang berasal dari koneksi SDE dan menemukan sedikit perbedaan antara kedua metode.
Beberapa peringatan:
sumber
Saya pikir permintaan definisi akan lebih cepat karena berada pada level objek dan bukan pada level data atribut.
Anda masih harus menguji. Namun saya akan menggunakan query definisi dan bukan label kelas.
sumber