Такое сильно влияет на производительность?
Адок. За такое в приличных домах бьют подсвечниками
Как минимум, функцию во внутреннем цикле переписать под подготовленные выражения, чтобы запрос каждый раз не парсился, а подставлялись только разные данные. Зачем отдельно вызывать запрос количества - тем более непонятно. Но вообще делать SQL-запросы в цикле - это моветон.