I have an application that runs a query on an ArcServer 9.3.1 webservice and returns the values into a datagrid. When I did not specify query.where parameters and only queried the display field the query would return values in about 3 seconds. I needed to specify a second search parameter so I used radio buttons and created 2 different query.where expressions. This slowed down the results to 17-25 seconds. I changed the service to a webservice running on an ArcServer 10 machine with same results. Is there a way to speed up the query? private function doQuery():void
{
if (streetName.text == "")
{
Alert.show("Please Enter Text", "User Error");
}
else
{
progressBar.visible = true;
var query:Query = new Query();
var pExpr:String = streetName.text.toUpperCase();
pExpr = pExpr.replace(",","");
pExpr = pExpr.replace("-","");
pExpr = pExpr.replace(".","");
var expr:String = queryExpr.replace("[value]", pExpr)
query.where = expr;
query.outFields = ["*"]
query.returnGeometry = false;
queryTask.execute(query, new AsyncResponder(onResult, onFault));
function onResult(featureSet:FeatureSet, token:Object = null):void
{
progressBar.visible = false;
}
function onFault(info:Object, token:Object = null):void
{
progressBar.visible = false;
Alert.show("No parcels were found", "Try something else");
}
}
}
//enable radion buttons to switch
private function changesearch(event:ItemClickEvent):void
{
switch(event.label.toLowerCase())
{
case "street":
{
txtLabelText.text = "Search Parcels by Street Name ex. Park Pl"
queryExpr = "LocAddr LIKE '%[value]%'";
autoCompleteMgr.enabled = true;
break;
}
case "owner":
{
txtLabelText.text = "Search Parcels by Owner Name (Last Name First) ex. Smith John"
queryExpr = "Owner1 LIKE '%[value]%'";
autoCompleteMgr.enabled = false;
break;
}
}
}
thanks