Which would provide the best performance for working within ArcMap with very large datasets stored in an ArcSDE geodatabase? Multiple label classes using complex SQL queries to label specific features, or multiple copies of the same layer using the same complex SQL queries set as a definition query for each layer?
[GIS] Using Label classes vs Definition queries – which performs the best
arcgis-desktopdefinition-querylabelingperformance
Best Answer
Assuming the SQL queries on the label classes are the same as the ones on split out layers, the single layer approach with multiple label classes will be faster. Why?:
Labeling in ArcMap will execute one query for the layer draw and then one query for each label class. So a layer with 4 label classes will query once (1 query) for all features drawn and then 4 additional times total (one for each label class or 4 more queries) = 5 total queries
If you split the layers out, you'll have 1 filtered query (definition query) for each layer (4 queries) plus that same query for each label class (4 more queries) = 8 total queries
In almost all cases, 5 queries will be faster than 8 queries due to just plain query overhead although it depends on the data source.
Note, in ArcGIS Server a cache is used for feature labeling and 1 layer with 4 label classes will most likely be handled via one query when the label classes use fairly standard SQL without vendor specific functions.