Welches bietet die beste Leistung für die Arbeit in ArcMap mit sehr großen Datenmengen, die in einer ArcSDE-Geodatabase gespeichert sind? Mehrere Beschriftungsklassen, die komplexe SQL-Abfragen verwenden, um bestimmte Features zu kennzeichnen, oder mehrere Kopien derselben Ebene, die dieselben komplexen SQL-Abfragen verwenden, die als Definitionsabfrage für jede Ebene festgelegt wurden?
11
Antworten:
Angenommen, die SQL-Abfragen für die Beschriftungsklassen sind dieselben wie für die aufgeteilten Ebenen, ist der Einzelschichtansatz mit mehreren Beschriftungsklassen schneller. Warum?:
Beim Beschriften in ArcMap wird eine Abfrage für die Ebenenzeichnung und anschließend eine Abfrage für jede Beschriftungsklasse ausgeführt. Ein Layer mit 4 Beschriftungsklassen fragt also einmal (1 Abfrage) nach allen gezeichneten Features und dann 4 weitere Male insgesamt (eine für jede Beschriftungsklasse oder 4 weitere Abfragen) = 5 Gesamtabfragen
Wenn Sie die Ebenen aufteilen, haben Sie 1 gefilterte Abfrage (Definitionsabfrage) für jede Ebene (4 Abfragen) plus dieselbe Abfrage für jede Etikettenklasse (4 weitere Abfragen) = 8 Gesamtabfragen
In fast allen Fällen sind 5 Abfragen aufgrund des einfachen Abfrageaufwands schneller als 8 Abfragen, obwohl dies von der Datenquelle abhängt.
Beachten Sie, dass in ArcGIS Server ein Cache für die Feature-Beschriftung verwendet wird und 1 Layer mit 4 Beschriftungsklassen höchstwahrscheinlich über eine Abfrage verarbeitet wird, wenn die Beschriftungsklassen Standard-SQL ohne herstellerspezifische Funktionen verwenden.
quelle
Ich habe einige sehr einfache Tests mit einigen NHD-Daten durchgeführt, die von einer SDE-Verbindung stammen, und dabei nur einen geringen Unterschied zwischen beiden Methoden festgestellt.
Ein paar Einschränkungen:
quelle
Ich denke, die Definitionsabfrage wäre schneller, da sie auf Objektebene und nicht auf Attributdatenebene erfolgt.
Sie müssten noch testen. Ich würde jedoch Definitionsabfragen und keine Beschriftungsklassen verwenden.
quelle