The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
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 и должно быть счастье:).

          Тему можно считать закрытой.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру