Чому прості об’єднання в невеликих наборах даних так сильно сповільнюють ArcMap?


13

ArcGIS 9.3.1, ArcInfo. У мене є невеликі файлові бази даних geodatabase та SDE (кілька тисяч записів кожен, 50 стовпців), до яких я приєднуюсь атрибут. Після приєднання креслення карти уповільнюється з другої секунди до декількох секунд, іноді більше. Додайте в деякі запити визначення, які посилаються на поля з’єднання, і настав час випити чашку кави під час перемальовування. Будь-які ідеї, чому це відбувається? Хтось ще коли-небудь це переживав?


6
Чи індексуються ваші поля приєднання?
Дерек Свінглі

Ні, вони не індексуються.
Чад Купер

9
Щоб відповісти на ваше останнє запитання, Чад: так, у мене є низька продуктивність приєднання для кожної версії ArcGIS. Величезний прогрес в обчислювальній швидкості за останнє десятиліття досі не міг не відставати від звичайної деградації продуктивності з кожним новим випуском. Це одна з головних причин, що я не можу використовувати його для аналітичної роботи. (Для картографічних робіт це вже інша історія.)
whuber

@ Питання Свінглі може відповісти на вашу проблему. Приєднання до неіндексованого стовпця серйозно сповільнить справи. Ви, швидше за все, отримаєте велике збільшення швидкості просто створивши індекс на цьому полі. Вам також може знадобитися перемістити речі з бази даних геоданих у SDE; Доступ - це не найшвидша річ у блоці, тому перехід на SqlServer або Oracle також може допомогти вам у вирішенні проблем із швидкістю.
Майкл Тодд

2
@Jay: так, Свінглі першим поставив ключовий камінь на місце і отримав 3 оновлення за нього, однак ви пішли далі і описали метод. Усі перемагають. :) Ми прагнемо побудувати більше, ніж просто правильну відповідь, але і найкращу. Вони не завжди знаходяться в одному контейнері одночасно.
matt wilkie

Відповіді:


10

Мені регулярно потрібно приєднуватися до іншого depc featureclass: SDE featureclass без індексів на що-небудь.

Копіювання в локальний файл geodatabase + index створює дійсно прискорення.

Оскільки це тимчасово, я зазвичай роблю це на диску RAM http://t.co/EBTeOem .

Залежно від ваших даних можуть допомогти поля індексації, які ви використовуєте для символізації, або поля, що використовуються у запиті визначення.


Ніколи не думав про індексацію полів, на яких базується символогія. Чи вважаєте ви, що це збільшує ефективність візуалізації на перемальовуванні / оновлення на карті?
Чад Купер

Я модифікую відповіді - поля індексування відповідей, які використовуються для візуалізації, не допоможуть у кожному випадку, і я точно не знаю, чи допоможе це файлова база даних. Це більше звичка, що базується на моїй пам’яті щодо ефективності класів sde в минулому (використовуючи se_toolkit).
Jay Cummins
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.