AndreyKl
Новичок
Как правильно организовать хранение данных: одна табл для всех или каждому по табл?
Пишу приложение для веб. Пользователи регистрируются на сервере. Затем пользователь может загружать картинки на сервер. Затем возможен поиск по картинкам. Как организовать таблицы хранения данных о картинках? У меня два арианта:
ИЛИ
1. Данные о пользователе (UID, Name, Nick, etc.)
2. Данные о картинке (Img_ID, FileName, UID, title, description, URL)
ИЛИ
1. Данные о пользователе (UID, Name, Nick, etc.)
2. Данные о картинке (Img_ID, FileName, UID, title, description, URL)
3. Данные о картинке (Img_ID, FileName, UID, title, description, URL) НО только для одногопользователя (получается подмножество таблицы 2).
Обоснование для 3. Выборка из 2 может быть достаточно долгой, так как количество пользователей велико и каждый пользователь закачивает множество картинок. Запросы на выборку из таблицы 2 (вроде SELECT * FROM Images WHERE UID='134'). Могут происходить по несколько раз в секунду. Выборка из личной таблицы пользователя будет многократно меньше (пропорционально количеству пользователей). Общую таблицу использовать только для поиска. Вопрос: целесообразно ли создавать таблицу для каждого пользователя?
Пишу приложение для веб. Пользователи регистрируются на сервере. Затем пользователь может загружать картинки на сервер. Затем возможен поиск по картинкам. Как организовать таблицы хранения данных о картинках? У меня два арианта:
ИЛИ
1. Данные о пользователе (UID, Name, Nick, etc.)
2. Данные о картинке (Img_ID, FileName, UID, title, description, URL)
ИЛИ
1. Данные о пользователе (UID, Name, Nick, etc.)
2. Данные о картинке (Img_ID, FileName, UID, title, description, URL)
3. Данные о картинке (Img_ID, FileName, UID, title, description, URL) НО только для одногопользователя (получается подмножество таблицы 2).
Обоснование для 3. Выборка из 2 может быть достаточно долгой, так как количество пользователей велико и каждый пользователь закачивает множество картинок. Запросы на выборку из таблицы 2 (вроде SELECT * FROM Images WHERE UID='134'). Могут происходить по несколько раз в секунду. Выборка из личной таблицы пользователя будет многократно меньше (пропорционально количеству пользователей). Общую таблицу использовать только для поиска. Вопрос: целесообразно ли создавать таблицу для каждого пользователя?