Perché i semplici join su piccoli set di dati rallentano così tanto ArcMap?


13

ArcGIS 9.3.1, ArcInfo. Ho alcuni piccoli file geodatabase e SDE featureclass (poche migliaia di record ciascuno, 50 colonne) su cui sto facendo unire gli attributi. Dopo i join, il disegno della mappa viene rallentato da un secondo a diversi secondi ogni volta, a volte di più. Aggiungi alcune query di definizione che fanno riferimento ai campi dall'unione ed è tempo di andare a prendere una tazza di caffè mentre ridisegna. Qualche idea sul perché questo accada? Qualcun altro l'ha mai provato?


6
I tuoi campi di partecipazione sono indicizzati?
Derek Swingley,

No, non sono indicizzati.
Chad Cooper,

9
Per rispondere alla tua ultima domanda, Ciad: sì, ho riscontrato scarse prestazioni di join su ogni versione di ArcGIS. Enormi progressi della velocità di elaborazione nell'ultimo decennio non sono ancora stati in grado di tenere il passo con il normale degrado delle prestazioni con ogni nuova versione. Questo è uno dei motivi principali per cui non posso usarlo per il lavoro analitico. (Per il lavoro cartografico è una storia diversa.)
whuber

La domanda di @ Swingley potrebbe essere la risposta al tuo problema. Partecipare a una colonna non indicizzata rallenterà notevolmente le cose. Probabilmente otterrai un grande aumento della velocità semplicemente creando un indice su quel campo. Potrebbe anche essere necessario spostare le cose da un file geodatabase a SDE; L'accesso non è la cosa più veloce sul blocco, quindi passare a SqlServer o Oracle potrebbe aiutarti anche con problemi di velocità.
Michael Todd,

2
@Jay: sì Swingley è stato il primo a mettere in atto la chiave di volta, e ha ottenuto 3 voti positivi, tuttavia sei andato oltre e hai descritto un metodo. Tutti vincono. :) Cerchiamo di costruire più della semplice risposta, ma anche la migliore. Non si trovano sempre all'interno di un singolo contenitore contemporaneamente.
matt wilkie,

Risposte:


10

Ho regolarmente bisogno di unirmi ad un'altra classe di featureclass: SDE featureclass senza indici su nulla.

La copia in un file locale geodatabase + build degli indici velocizza davvero le cose.

Dal momento che è temporaneo, di solito lo faccio su un disco RAM http://t.co/EBTeOem .

A seconda dei dati, possono essere utili i campi di indicizzazione utilizzati per la simbolizzazione o i campi utilizzati nella query di definizione.


Non ho mai pensato ai campi di indicizzazione su cui si basa la simbologia. Ritieni che ciò aumenti le prestazioni di rendering sui ridisegni / aggiornamenti delle mappe?
Chad Cooper,

Modificherò la risposta - i campi di indicizzazione utilizzati per il rendering non aiuteranno in ogni caso e non so con certezza se aiuta per il file geodatabase. È più un'abitudine basata sulla mia memoria di come le sde featureclasses si sono esibite in passato (usando se_toolkit).
Jay Cummins,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.