Select to view content in your preferred language

Is there a way to speed up a query?

616
1
01-04-2011 11:10 AM
AaronNash
Deactivated User
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
Tags (2)
0 Kudos
1 Reply
EokNgo
by
Deactivated User
You could try adding an index on those columns/fields you'll be querying such as LocAddr and Owner1.
0 Kudos