Por que junções simples em pequenos conjuntos de dados tornam o ArcMap tão lento?

13

ArcGIS 9.3.1, ArcInfo. Eu tenho algumas geodatabase de arquivos pequenos e classes de características do SDE (alguns milhares de registros cada, 50 colunas) nas quais estou fazendo junções de atributos. Após as junções, o desenho do mapa fica mais lento de um segundo a vários segundos de cada vez, às vezes mais. Adicione algumas consultas de definição que fazem referência a campos da junção e é hora de tomar uma xícara de café enquanto redesenha. Alguma idéia de por que isso acontece? Alguém já experimentou isso?

Chad Cooper
fonte
6
Seus campos de junção são indexados?
Derek Swingley
Não, eles não são indexados.
Chad Cooper
9
Para responder à sua última pergunta, Chad: sim, experimentei um fraco desempenho de junção em todas as versões do ArcGIS. Grandes avanços na velocidade de computação na última década ainda não foram capazes de acompanhar a degradação rotineira do desempenho a cada nova versão. Essa é uma das principais razões pelas quais não posso usá-lo para o trabalho analítico. (Para trabalhos cartográficos, é uma história diferente.)
whuber
A pergunta de @ Swingley pode ser a resposta para o seu problema. A associação a uma coluna não indexada desacelerará seriamente as coisas. Você provavelmente obterá um grande aumento de velocidade simplesmente criando um índice nesse campo. Você também pode precisar mover coisas de um geodatabase para o SDE; O acesso não é a coisa mais rápida do bloco, portanto, mudar para SqlServer ou Oracle também pode ajudá-lo com problemas de velocidade.
Michael Todd
2
@ Jay: sim Swingley foi o primeiro a colocar a pedra fundamental no lugar e recebeu 3 votos positivos, mas você foi além e descreveu um método. Todo mundo ganha. :) Procuramos criar mais do que apenas a resposta certa, mas também a melhor. Eles nem sempre são encontrados em um único contêiner simultaneamente.
Matt Wilkie

Respostas:

10

Eu regularmente preciso participar de outro featureclass: SDE featureclass sem índices em nada.

Copiar para um arquivo geodatabase + de arquivo local compila realmente as coisas.

Como é temporário, geralmente faço isso em um disco RAM http://t.co/EBTeOem .

Dependendo dos seus dados, os campos de indexação usados ​​para simbolizar ou os campos usados ​​na consulta de definição podem ajudar.

Jay Cummins
fonte
Nunca pensei em indexar campos nos quais a simbologia se baseia. Você acha que isso aumenta o desempenho da renderização em redesenhos / atualizações de mapas?
Chad Cooper
Modificarei a resposta - os campos de indexação usados ​​para renderização não ajudarão em todos os casos e não sei ao certo se isso ajuda no geodatabase de arquivos. É mais um hábito, com base na minha memória, de como as classes de desempenho de sde tiveram desempenho no passado (usando o se_toolkit).
Jay Cummins