eai, написать работоспособный код, который решает поставленную задачу - легко.
А вот когда изначальная спецификация меняется, тогда уже наступают проблемы, если код изначально не был на достаточном уровне абстракции, то придется все переписывать с нуля.
Второе возможно только после первого. Поэтому те кто до сих пор создает суперархитектуру уже в не игры ...
На самом деле ценность программиста не в фибдачах и не абстракных структурах с повторным использованием а в способности написать правильно работающий код, все остальное теория.
то есть, львиную часть скорости забирала именно функция count() замедляла работу, извиняюсь что сразу не упомянул этот момент (но у меня не было основания думать что именно она), вынос этой функции за цикл частично решило проблему
Так это у вас классическая ошибка неопытного программера
таблица в mysql это отдельный файл - вынести блобы в отдельную таблицу и никаких проблем
Ну оптимизировать хранение повсякому можно, но просто файл сделать наиболее простое и эффективное решение.
caballero пишет:
а потом понадобится перенести БД или забакапировать и развернуть в другом месте или откатить транзакцию. и каждый раз синхронизировать файлы. Чтобы не оказалось на диске прибили а в БД нет или наоборот.
Откатить транзакцию ???? вы сейчас про MySQL Серьезно? Транзакция вэб запроса с сохранением аватарки ?
А если серьезно то из всего перечисленного актуальна только проблема бэкапа и переноса, тут вы правы.
Ну поищи "загрузка картинок на сервер" что ли ... не буду же я весь код тебе писать, прояви творчество и тягу к знаниям, заодно может еще попутно что пто познаешь
Я бы не рекомендовал хранить картинку в виде BLOB в СУБД
Зачем? Раздуть базу?
Сохраните ее на диск таким образом что бы по учетной записи пользователя всегда можно было найти нужный файл.
Это не решение проблемы а затыкание дырки.
Вам что то с архитектурой менять надо, ибо отрабатывать 100000 строк в реквесте это не есть хорошо и не соответствует духу вэб приложения, да в конце концов просто упадет от небольшого наплыва пользователей,