MySQL or Postgress and How?, Andrey, 13-Июн-06, 07:00 [смотреть все]Вот возник вопрос, уважаемые комрады. Пишу приложение для веб. Там пользователь может залогинитсья и загрузить картинку. При загрузке заполняется форма с ключевыми словами. Потом эту картинку пользователь может просматривать и может давать ссылку на неё другим пользователям. Нужно организовать поиск по картинкам. Так вот вопрос о хранении данных картинки о картинке: как лучше хранить данные? У меня 2 варианта. 1) Сделать одну таблицу в которой все данные. типа (id, url, description, title) 2) Сделать 1 таблицу большую к в п.1 для поиска и создавать новую таблицу для каждого пользователя, в которой будут храниться только его данные, и для просмотра использовать пользовательскую таблицу.Это основной вид данных в базе. Ещё есть данные о пользователях, но они точно такие же. Какую базу лучше выбрать для таких целей? Выбор из опенсорс баз ( я знаю только майскюэл и постгресс, более близок к майэскюэлю). |
- MySQL or Postgress and How?, GByte, 13:22 , 16-Июн-06 (1)
Вообще вопрос больше к форуму о БД.Советую почитать теорию БД, хотя и сам в ней не силен :/ Мое предложение по таблично: 1. Данные о пользователе (UID, Name, Nick, etc.) 2. Данные о картинке (Img_ID, FileName, UID, title, description, URL) А сами картинке хранить не в БД а файлами называя по Img_ID.
- MySQL or Postgress and How?, Andrey, 14:36 , 16-Июн-06 (2)
>Вообще вопрос больше к форуму о БД. > >Советую почитать теорию БД, хотя и сам в ней не силен :/ > > >Мое предложение по таблично: > 1. Данные о пользователе (UID, Name, Nick, etc.) > 2. Данные о картинке (Img_ID, FileName, UID, title, description, URL) > >А сами картинке хранить не в БД а файлами называя по Img_ID. >Спасибо. Непонятно, как обосновать, что таблица с данными о картинке должна быть одна для всех пользователей, а не своя для каждого пользователя? Т.е. ИЛИ 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'). Могут происходить по несколько раз в секунду. Выборка из личной таблицы пользователя будет многократно меньше (пропорционально количеству пользователей). Общую таблицу использовать только для поиска. Вопрос: целесообразно ли создавать таблицу для каждого пользователя?
- MySQL or Postgress and How?, GByte, 15:17 , 16-Июн-06 (3)
Насчет производительности я тебе помочь ни чем не могу.Вроде БД и делаются для того чтобы запросы выполнять? Дарога тебе на форум по МайСКуэЛью.
- MySQL or Postgress and How?, Andrey, 15:25 , 16-Июн-06 (4)
>Насчет производительности я тебе помочь ни чем не могу. > >Вроде БД и делаются для того чтобы запросы выполнять? > >Дарога тебе на форум по МайСКуэЛью. Спасибо. Мда, логично было сразу туда сходить :) Сходил. Ответ в мануале по MySQL. Пункт про индексы. Похоже, действительно, БД для того, чтобы запросы выполнять :)
Много таблиц в этом случае делать не нужно. Нужно индексировать по UID и должно быть счастье:). Тему можно считать закрытой.
|