I have an mxd with data-driven pages using Feature Layers from ArcGIS for Server (Workgroup Standard) with MS SQL Server Express. The DDP index layer has a join to a stand-alone table. I am displaying values from the stand-alone table on the layout. I know the join is the bottleneck as simply moving the text box around on the layout causes a CPU spike (but not to 100% and no other resources max out) on the server. (I'm looking at it with RD.) Looking at the logs I can see a bunch of REST requests, as expected.
These are the feature layers:
Polygons for DDP: https://gisserver/arcgis/rest/services/myData_featurelayer/FeatureServer/0
Table: https://gisserver/arcgis/rest/services/myData_featurelayer/FeatureServer/3
(Layers 1 and 2 are not in the mxd.)
The DDP text field:
<dyn type="page" property="attribute" field="3.inactive_acres" domainlookup="true"/>
The stand-alone table actually has 15 fields, but I removed all but one from the text box. I then merely clicked on the text box. There were then 13 REST requests (side-note: why not 15?) that took 13 seconds according the logs, so it looks like it is re-querying almost anytime you do anything.
Any suggestions on how to improve response time or reduce the number of requests?
- I tried both joins types (keep all and keep only matching).
- I tried rebuilding the index on the stand-alone table.
- You can’t use joins when publishing Feature Layers.
- I know direct SDE/SQL Server connections are faster but that’s not an option.
- At no point are any resources maxed out (I know there’s a 1GB limit on Express but this is the only feature service and it only has four layers).
- Server ping is <1ms.
- Nothing crazy in the Activity Monitor in Management Studio.
I’m running Windows Server 2012 R2 Standard, 64bit, 8GB RAM (ESXi hypervisor). Desktop is Windows 7 Pro, 64bit, 3Ghz, 12GB RAM, Gb ethernet.