powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Максимальное совпадение в SQL запрос.
11 сообщений из 11, страница 1 из 1
Максимальное совпадение в SQL запрос.
    #38795048
igramnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Сейчас стоит задача следующая:

в базе есть поле text с содержимым

filter5=Английский
filter8=Онлайн обучение
do=goods
id_s=yazyki
st=4
page=1
view=norm
show=all

При заходе на страницу мне выдается множество GET запросов

Array ( [price_from] => [price_to] => [filter5] => Array ( [0] => Украинский [1] => Английский) [filter8] => Array ( [0] => Онлайн обучение ) [do] => goods [id_s] => yazyki [st] => 4 [page] => 1 [view] => norm [show] => all [search_goods] => 1 [sort_type] => ASC )


Моя задача взять все эти GET запросы и найти в поле text максимальное количество совпадений.

Вариант с LIKE не получился, т.к. я делаю

SELECT * FROM `metalinks` WHERE name LIKE '%filter5=Английский%'

и это неправильно.


Помогите реализовать алгоритм.
...
Рейтинг: 0 / 0
Максимальное совпадение в SQL запрос.
    #38795632
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Распарсите Get и слейте во временную таблицу.
Постройте запрос. связывающий её с исходной, и, группируя по таблице данных, выберите запписи с максимальным количеством Идов из временной таблицы.
...
Рейтинг: 0 / 0
Максимальное совпадение в SQL запрос.
    #38795767
igramnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

хорошо, но боюсь следующей проблемы. При посещаемости в 1 000 человек надо каждую страницу вот так записывать в базу, сранивать, а потом базу чистить (возможно раз в сутки). Не будет ли это колоссальной нагрузкой?
...
Рейтинг: 0 / 0
Максимальное совпадение в SQL запрос.
    #38795903
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igramnetAkina,

хорошо, но боюсь следующей проблемы. При посещаемости в 1 000 человек надо каждую страницу вот так записывать в базу, сранивать, а потом базу чистить (возможно раз в сутки). Не будет ли это колоссальной нагрузкой?

так не записывай в базу, кто тебя заставляет?
...
Рейтинг: 0 / 0
Максимальное совпадение в SQL запрос.
    #38795942
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igramnetAkina,

хорошо, но боюсь следующей проблемы. При посещаемости в 1 000 человек надо каждую страницу вот так записывать в базу, сранивать, а потом базу чистить (возможно раз в сутки). Не будет ли это колоссальной нагрузкой?

не хочу огорчать. но ....начинать про нагрузку думать надо тогда, когда вы будуте отвечать на подобные вопросы другим на форуме. до этого - либо всё будет нормально - либо при нагрузке вы не успеете бегать на форум за советами.

сделать надо так чтобы работало. а потом думать про нагрузку.

а думать начать надо с вопроса - что за ересь в постановке задачи!?
...
Рейтинг: 0 / 0
Максимальное совпадение в SQL запрос.
    #38795951
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex564657498765453,

таблица фильтры 1do 1 2 how 1 3 ... айди фильра имя тип
таблица значиний фильтров (если набор значений ограничен тип=1 скажем тип 2 неограничен)

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


таблица собвтенно связей чегото с значениями фильтра

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

и тогда будет на чтотоА например 10 записей , ваш запрос ищет записи где совпадает одно ИЛИ другое итд... и по числу найденых строк для чтотоА - знаем сколько значений фильтра совпало.


ЗЫ
можно разделить - фильтры с ограниченым набором значений и неограниченым (последняя таблица на две разделяеться)
айди_чегото айди_фильтра(с огр. наб. зн) айди_знач

айди_чегото айди_фильтра(с неогр.) значение
...
Рейтинг: 0 / 0
Максимальное совпадение в SQL запрос.
    #38796484
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igramnetбоюсь следующей проблемы
Простите, но не я - архитектор. Не я изобрёл такую просто бредовую с точки зрения озвученной задачи структуру. Ладно, был бы какой голимый EAV - так тут вообще всё в кучу, никакой нормализации! И фильтрация по пересечению наборов - если не конвертировать из "всё в одной строке" хотя бы в EAV, то сервер не то что тысячу - и десятка клиентов не удержит.
Посему я могу только сказать, как выполнить задачу выбранным Вами методом на построенной Вами архитектуре. Да, будет работать хреново. Но улучшению и оптимизации это всё в нынешней форме вряд ли поддаётся.
...
Рейтинг: 0 / 0
Максимальное совпадение в SQL запрос.
    #38796544
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akinaigramnetбоюсь следующей проблемы
Простите, но не я - архитектор. Не я изобрёл такую просто бредовую с точки зрения озвученной задачи структуру. Ладно, был бы какой голимый EAV - так тут вообще всё в кучу, никакой нормализации! И фильтрация по пересечению наборов - если не конвертировать из "всё в одной строке" хотя бы в EAV, то сервер не то что тысячу - и десятка клиентов не удержит.
Посему я могу только сказать, как выполнить задачу выбранным Вами методом на построенной Вами архитектуре. Да, будет работать хреново. Но улучшению и оптимизации это всё в нынешней форме вряд ли поддаётся.

ну не скажи...

давай сойдёмся что сервер спокойно обработать

....ГДЕ поле похоже "%петя%"

а теперь нам надо 8 проверок

ВЫБОРКА_ЕЛЕМЕНТАРНАЯ ОБЬЕДЕНИТЬ х8 раз
и всё это обернуть в групировку по айди...

формально нагрузка в восем раз возрастёт... реально поменьше...ведь не все 8 раз с винчестера читать. субд ведь размещает в памяти на время считанные блоки с винчестера...
...
Рейтинг: 0 / 0
Максимальное совпадение в SQL запрос.
    #38796558
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex564657498765453субд ведь размещает в памяти на время считанные блоки с винчестера...Загвоздка в том, что для выполнения запроса с alex564657498765453ГДЕ поле похоже "%петя%"субд придётся каждый раз вычитывать _всю_ таблицу. Ну, если она в память влезает, тогда mmmkay...
...
Рейтинг: 0 / 0
Максимальное совпадение в SQL запрос.
    #38796572
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tanglir,

вообщето влезет... как думаешь - в его случае на сколько там данных?мегабайт 5 макс 10 :) но это всё согласен - бредни такие запросы
...
Рейтинг: 0 / 0
Максимальное совпадение в SQL запрос.
    #38799308
igramnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Максимальное совпадение в SQL запрос.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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