Devi solo essere più intelligente riguardo alle tue chiamate. Ad esempio, tenere in giro gli oggetti DB memorizzati nella cache e quel genere di cose.
Senza sapere di più sul tuo codice (la tua domanda è abbastanza confusa), sembra che se la tua query è qualcosa del genere:
$query = "select abc from tblname where colname =" .$value; // run 10 times.
Hai davvero solo bisogno di scrivere un codice più intelligente:
$values = array(); // Now, populate this array.
// When you're done, run the query:
$query = 'select abc from tblname where colname IN (\''.implode('\',\'', $values).'\')';
Generalmente, ci riferiamo a questo come SQL dinamico ed è la base di come le cose vengono generalmente fatte oggi. Una procedura memorizzata (o, in base a come ho letto la tua domanda, una funzione memorizzata) è utile a volte, ma è alquanto antiquata come metodologia del primo ordine per l'interfaccia con SQL. I ragazzi di DB a volte lo giurano, ma penso che anche loro siano abbastanza d'accordo sul fatto che le query più intelligenti siano sempre migliori.