Существует ситуация, в которой мы можем иметь поле VARCHAR для аватара пользователя и хранить имя изображения в этом поле, как и в большинстве приложений.
Другой подход, который меня интересует, заключается в удалении этого поля и сохранении аватара пользователя в папка типа avatars
, в которой имя файла аватара является идентификатором пользователя в формате MD5. Затем все, что нам нужно сделать, это выполнить поиск в папке аватара, чтобы увидеть, есть ли там какой-либо MD5 (идентификатор пользователя), если нет, мы показываем изображение по умолчанию.
Вопрос в том, какой подход будет более эффективным для огромный сайт социальной сети, просматривая папку аватара или поле аватара в пользовательской таблице?
Я также должен отметить, что у нас есть папки, основанные на дате, например, у нас есть папка с именем 1000
, а затем еще одна папка с именем из 2000
. Например, /avatar/1000
содержит тысячу картинок и так далее.
должен ли аватар пользователя быть полем в таблице ИЛИ искать в файловых системах?
Ответы (1)
Один вызов базы данных был бы более эффективным, чем вызов для извлечения сведений о пользователе из базы данных и отдельный вызов файловой системы для проверки существования файла.
person
John D
schedule
16.06.2012