Хранение файлов пользователя

Рейтинг: 0Ответов: 1Опубликовано: 17.12.2014

На сайте пользователи могут загружать свои изображения в любых количествах (свои фотоальбомы). Файлы храню пока локально вида /files/u1/sdF/aXnKDpt2eg.jpg .

C местом для хранения разобрался, а вот как в базе всё это хранить не знаю. Сначала думал сделать таблицу files с полями id, path и привязывать по id, но подозреваю, что эта таблица быстро распухнет до нескольких миллионов и работать будет медленнее.

Так вот интересует, как лучше хранить ссылки на изображения в базе?

Ответы

▲ 1Принят

А какая именно работа с базой предполагается? Если добавить уникальное поле с user-id и проиндексировать его, то выборка из миллиона записей займет доли секунды. Какая нагрузка на проект?

Обновление

Пользователей же конечное число, верно? User-id - это id конкретного пользователя, уникальный для таблицы пользователей. Добавь еще одно поле в таблицу с фото, где указывай какому пользователю принадлежит фото. Проиндексируй этот столбец, тогда при поиске фотки для конкретного пользователя выборка будет осуществляться не из миллиона записей, а только из тех, которые принадлежат кокретному пользователю. Все это будет работать очень быстро, если запрос на выборку в правильном порядке составить.

Аватарки с альбомами и фотографиями лучше не мешать, т.к. эти данные выводятся с разной частотой.