ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
 
 
Опции темы Поиск в этой теме Опции просмотра

Вопросы по оптимизации базы данных.
  #1  
Старый 14.04.2009, 19:54
Аватар для PEPSICOLA
PEPSICOLA
Познавший АНТИЧАТ
Регистрация: 14.10.2004
Сообщений: 1,162
Провел на форуме:
5619724

Репутация: 2944


По умолчанию Вопросы по оптимизации базы данных.

---offtop---
может прикрепить?
---offtop---


Как наиболее лучшим способом оптимизировать БД имея следующие условия:

Есть пользователи (users) и различная информация (data) - файлы и данные, разного типа. Информацию с пользователями связывают несколько категорий. Первая категория - музыкальный жанр (genre). Параметры этой категории не статичны, то есть они имеют свойсто добавляться, например: Рок, Блюз, Джаз, Рэп, Хип-хоп, Поп, Транс и т.п.

При регистрации - пользователь может указывать какие жанры он хотел бы видеть (в будущем изменять). А так же, при добавлении очередной информации в БД - нужно указывать к каким жанрам эта информация относиться. Аналогично с поиском - человек может настроить фильтр по жанрам в критериях для поиска.

Информация может относиться к нескольким жанрам. К примеру добавлена песня, которая захватывает жанры: Рэп, Рок, Джаз.

У пользователя в профиле, предпочтения для отображения песен: Метал, Рок.

Совпадает "Рок" - файл должен отображаться ему.

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

Как вариант, думал ограничить варианты выбора до 5-10 вариантов + добавить параметр "выбрать всё". Получиться идеально с точки зрения оптимизации. Создав отдельные таблицы для "жанров" где всего два поля "id" и "title". И создать таблицу user_preferred_genres, со столбцами "вариант1", "вариант2", "вариант3", "вариант4", "вариант5", "select_all".

И подобно таблице user_preferred_genres, создать аналогичную таблицу для добавляемых данных - data_genres.

Посоветуйте, пожалуйста.
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Посимвольный перебор в базах данных на примере MySQL LoFFi Чужие Статьи 5 30.04.2007 05:05
Перехват данных, кто, где и как? GreenBear Чужие Статьи 1 16.12.2006 16:43
Долбим Sql’ные базы данных k00p3r Чужие Статьи 0 13.06.2005 14:13
Sql инъекция и Oracle, часть первая k00p3r Чужие Статьи 0 13.06.2005 11:23
SQL Injection в Oracle k00p3r Чужие Статьи 0 12.06.2005 12:41



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ