Du skal bare være klogere på dine opkald. For eksempel at holde cachelagrede DB-objekter omkring og den slags ting.
Uden at vide mere om din kode (dit spørgsmål er ret forvansket), ser det ud til, at hvis din forespørgsel er sådan her:
$query = "select abc from tblname where colname =" .$value; // run 10 times.
Du skal egentlig bare skrive smartere kode:
$values = array(); // Now, populate this array.
// When you're done, run the query:
$query = 'select abc from tblname where colname IN (\''.implode('\',\'', $values).'\')';
Generelt omtaler vi dette som Dynamic SQL og er grundlaget for, hvordan tingene typisk gøres i dag. En lagret procedure (eller, baseret på hvordan jeg læser dit spørgsmål, lagret funktion) er nyttig til tider, men er noget forældet som en første-ordens metode til grænseflader med SQL. DB-fyrene sværger stadig nogle gange til det, men jeg tror, at selv de er ret godt enige om, at smartere forespørgsler altid er bedre.