if the complexity of the query is what causes the delay, then only way to reduce that time it to improve the efficiency of the query function (or buy more expensive hardware. 😉 )
however, it is more likely the delay is sending each request across the network and waiting for the response to make its way back. if you can send all of your queries in one go (one batch), maybe in an array then the overhead of sending each individual query is reduced.
this, of course, depends on if you have access to change the remote script...