>>227466
Чтобы не быть голословным:
Простейший, мне кажется, способ - отделить картинкочасть таблицы comment в новую таблицу. Файлнейм, пути, размеры, это всё. PK у новой таблицы (назовём images
) будет md5
(или имя, если таки отказаться от выбраковки схожих по MD5 изображений), num
указывает на номер поста в comments
. Тогда можно ухитриться и просто при создании поста, дёргать БД отдельно на предмет ассоциированных картинок. Что +1 дёрганье БД на пост. Альтернатива - увеличить comments
на хранение нескольких картинок из коробки. Но это увеличивает размеры БД и передающихся данных за запрос.
Логика выборки количества сообщений и шаблон опустим, это не должно быть особо сложным, вроде.
Теперь ещё один пункт: логика при отправке. Что делать, если отправилось лишь 4 из 5 файлов, а 5 битый? Откат? Постинг только четырёх файлов? Ошибки по MD5 возвращают только первое совпадение или выкручиваться и ради юзера искать все а потом как-то их грамотно выводить? Да, это не так страшно, ибо запись в БД идёт уже после всей обработки, и если делается одной транзакцией, всё разрешимо. Но это тоже надо учитывать.
И главное - любой из этих двух вариантов потребует переделывания уже существующей БД. То есть, закрытие Ычана на день (ибо я сомневаюсь, что держать две разных версии Вакабы на соседних досках - хорошая идея, но даже так - закрытае /a/ часа на два).
Третий вариант - оставить всё как есть, но докрутить таблицу под дополнительные файлы. Закрывать не нужно, но мы возвращаемся к +1 дёрганье на каждый пост.