0

ArcGIS Desktop & Server 10.7.1; Oracle 18c:

For feature classes that are symbolized by a values in a single field (multiple symbols):

Would a layer draw faster in the map if its symbology field had an attribute index?

I know attribute indexes improve performance for things like joins and the WHERE clause. But I’m not sure if it would apply to symbology as well (maybe the symbology mechanism ‘searches’ for values — just like the WHERE clause does, in which case, an index might help).

(It’s a difficult thing to test, since ArcGIS is pretty fast no matter what I do. But in my future PROD environment, I’ll have hundreds of thousands of records in feature classes. So I’d like to design them properly now in DEV, if I can.)

2
  • I agree with @PolyGeo that you should test with a large dataset. But you should also ask yourself if you ever have hundreds of thousands of records visible on a map at one time? In a real life scenario, you would probably set scale levels to limit the number of features that are visible, and when zoomed in, that number is already limited by the spatial index.
    – Berend
    Nov 25, 2020 at 11:33
  • 1
    In the past multiple queries might have been run for symbology, but when I tried to identify that use case to file a bug report, the behavior was no longer present.
    – Vince
    Nov 25, 2020 at 14:18

1 Answer 1

1

I would not expect an attribute index to improve your drawing speed, unless joins are involved - see 10003: Layer doesn't have an attribute index on fields used for a join (with my bolding):

Using join fields with an index results in better drawing and query performance.

However, if you want to be more certain then you should be able to generate a few million polygons using Create Fishnet, populate a field to symbolize on, time a few runs of symbolizing it without an attribute index, then apply an attribute index and time a few runs with that attribute index.

2
  • I can imagine that a layer drawn with Symbol Levels might benefit from an attribute index. Many years ago, changing brushes in low level graphics routines could also slow things down, but I'm not sure if that's still the case today, and if ArcMap is optimized for that (i.e. by drawing classes one after the other, rather than drawing features in random order). For testing drawing speed one could use PerfQAnalyzer.
    – Berend
    Nov 25, 2020 at 11:25
  • @Berend You may be right - I'd not considered Symbol Levels and I'm not sure that I've ever used them in earnest.
    – PolyGeo
    Nov 25, 2020 at 11:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.