Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как организовать базу с фильтрацией по меткам.. / 8 сообщений из 8, страница 1 из 1
15.04.2014, 19:41
    #38615823
bernex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как организовать базу с фильтрацией по меткам..
Проект, основа и нагрузка записи, к каждой будут привязаны метки... всего меток 300.
У каждой записи может быть от 1 до 300 меток.

Надо фильтровать список по меткам: те записи у которых есть БЕЛЫЙ и ТВЕРДЫЙ но нет СНЕГ.
А потом выводить постранично и сортировать, фильтровать уже по столбцам...

Как это лучше сделать для большой нагрузки сразу? Правильно? Хотелось бы Mysql, но Postgresql тоже можно.

Спасибо!
...
Рейтинг: 0 / 0
15.04.2014, 20:50
    #38615862
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как организовать базу с фильтрацией по меткам..
Проще и быстрее всего будет сделать таблицу с 300 полями. Индексы на них, конечно, будут
отвратительные, но при большом количестве словий всё равно должны дать выйгрыш перед
полным сканированием.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
15.04.2014, 21:33
    #38615892
bernex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как организовать базу с фильтрацией по меткам..
Dimitry Sibiryakov,

Т.е. по варианту с доп таблицей не получится?

Или postgersql, вроде есть тип поля вроде, индексируемый? 1.2.3 выводится,
такой вариант как?

Конечно сделать 150 столбцов проще... но как индексировать (( А если 300?
Неужели один вариант (

Конечно потом хотел все запросы кэшировать memcache, но есть ли опыт сколько данных сколько памяти займут?
...
Рейтинг: 0 / 0
15.04.2014, 21:36
    #38615893
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как организовать базу с фильтрацией по меткам..
bernexТ.е. по варианту с доп таблицей не получится?
Оно бы получилось для запросов с И и ИЛИ, но вот с И-НЕ оно не справится.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
15.04.2014, 21:41
    #38615897
bernex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как организовать базу с фильтрацией по меткам..
Dimitry Sibiryakov,

Можете дать решение с И, ИЛИ?
Я бы тогда мог сделать тэги отрицания и использовать их как противоположные.
...
Рейтинг: 0 / 0
15.04.2014, 21:47
    #38615898
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как организовать базу с фильтрацией по меткам..
bernexМожете дать решение с И, ИЛИ?
Решение стандартное для EAV:
Код: sql
1.
2.
3.
4.
select .... from ... where val='x' or val='y' or ....
group by id
having count(*) >= <тут количество обязательных параметров>
order by count(*) -- сортировка по релевантности


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
15.04.2014, 21:52
    #38615899
bernex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как организовать базу с фильтрацией по меткам..
Dimitry Sibiryakov,

Идею понял! Спасибо, все просто.

А вот если мне надо строки выбирать пойдет так?

Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT FROM PRODUCTS WHERE id IN (
select .... from ... where val='x' or val='y' or ....
group by id
having count(*) >= <тут количество обязательных параметров>
order by count(*) -- сортировка по релевантности)

AND price > 10 ORDER BY date



Тут выйдет вложенный запрос?
Или лучше как-то join?

Спасибо за помощь!
...
Рейтинг: 0 / 0
15.04.2014, 21:56
    #38615901
bernex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как организовать базу с фильтрацией по меткам..
bernex,

Тут же еще таблица связей будет со столбцами: id, id_product, name_of_tag

Т.е. надо суммировать по продуктам и сравнивать с допустимыми метками?
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как организовать базу с фильтрацией по меткам.. / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]