I've got a tool that frequently queries a set of feature layers provided from a runtime Geodatabase. It just seems query performance is slower than I would expect. I've made sure the queried fields are indexed, but that does not offer as much improvement as I had hoped.
I'm just using the QueryAsync method on a FeatureTable to return a set of features. Nothing fancy. Basically like the code below.
Is there a faster way? I've looked a bit into the QueryTask class that seems to offer the option to limit the number of fields returned -- which could possibly be helpful, but have not had luck with this pointing at a runtime Geodatabase feature layer.
Thanks for any pointers.
QueryFilter qf = new QueryFilter();
qf.WhereClause = primaryLayer.FeederIDFieldName + " in (" + feederIDs + ")";
IEnumerable<Feature> resultFeatures = await featureTable.QueryAsync(qf);
If you request very large datasets, it will be a little slow. The v100.x has significantly improved this.
There's no way to limit the outfields. That feature is mostly there to reduce the response sizes, so you don't have to download too much data from the server.