Obviamente, muitas consultas consumirão muita memória. Existe um "truque" para otimizar várias consultas semelhantes - declarações preparadas .
Você tem 2 tabelas que parecem precisar de um join (se você não estiver usando tal).
Então você pode usar algum cache se os dados não estiverem sendo atualizados com muita frequência.
Tem muita coisa que pode ser otimizada...