php mysql фотоальбом

php базы данных сервер apache

хочу добавить возможность загружать фотографии...
соотношение данных примерно такое:пользователь(один)<-->(много)фотоальбомы(один)<-->(много)фотографии...
вопрос по поводу нагрузки на сервер и на базу данных:
само собой должна быть таблица соотношений(relation_tbl),но как лучше "поддерживать" соотношения??
1)
---------------------------------
user_id | albums_id |
---------------------------------
1 | 1,2,3,4,5,6,7 |
--------------------------------
2)с добовлением нового альбома добовлять новую строку с id пользователя и id нового альбома....

в первом варианте минус в том что после запроса и при добавлении нового альбома прийдеться парсить строку с id альбомамов
во втором минус в том что прийдеться бежать по всей таблице выискивая все соответствия юзер-альбом...
в случае альбом-фото ситуация таже!!!!!

какое решение лучше использовать??или предложите свое....
спосибо большое!!!!

Примечание:
CKB - т.е. второй вариант?
Ответы:
три таблицы - пользователь, альбом, фото
две таблицы для связей между ними один ко многим.
> во втором минус в том что прийдеться бежать по всей таблице выискивая все соответствия юзер-альбом...
Нет такого минуса. Индексы на поля поставьте и БД будет по индексу выбирать нужные данные без считывания всей таблицы. Индекс будет использоваться тот, который больше соотносится с условием выборки.
Т. е. если вы запросите все альбомы пользователя, то будет использоваться индекс, установленный на user_id, а прочитаны будут только строчки с запрошенным user_id.
На album_id нужно поставить уникальный индекс, чтобы в базе не могло появится привязок одного альбома к нескольким пользователям. Этот же индекс позволит быстро получить привязку альбома к пользователю без считывания всей таблицы.


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.