Наше веб-приложение позволяет пользователям загружать фотографии, оно использует сценарий PHP на сервере LAMP, работающем в Amazon EC2, для обработки загрузки изображений, Amazon S3 для хранения файлов и базу данных MySQL для записи данных об изображении (идентификатор пользователя, имя файла, теги и т. д.).
Я намереваюсь иметь в базе данных таблицу image_uploads со столбцом для каждого месяца и строкой для каждого пользователя. Таким образом, я могу отслеживать тенденции в загрузках. Также может быть загружено видео, поэтому у меня также будет таблица video_uploads. Кроме того, пользователи могут принадлежать к нескольким группам, и я хочу отслеживать ежемесячную загрузку по группам, поэтому, вероятно, будет также таблица group_uploads. Это означает, что для каждого загруженного файла будет 2 запроса на обновление sql - update image_uploads и update group_uploads.
- $ filesize = $ _FILES ['Filedata'] ['size'];
- ОБНОВЛЕНИЕ image_uploads SET data_in_bytes = (data_in_bytes + $ filesize), ГДЕ месяц = $ current_month ... (например - я знаю, что это неверный sql)
В качестве альтернативы может быть длинная таблица, в которой записываются данные о каждой загрузке (дата, пользователь, размер, носитель). Таким образом, я всегда могу запросить в базе данных необходимую информацию - например, ежемесячные загрузки на пользователя = сумма data_in_bytes, ГДЕ пользователь = ## и месяц = currentMonth
Каковы лучшие практики для такого рода задач?
привет