SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 13.08.2013 17:00:48

Slorvengo
Завсегдатай
Зарегистрирован: 08.08.2013
Сообщений: 46

Головоломка по поиску по сайту...

Добрый день.

Так назвал - т.к. уже давно не могу найти решения по SQL-запросу на поиск по сайту...
Нарисовал небольшую картинку.

Небольшое пояснение к картинке:

Сложность поиска по таблице с содержимым (content) осложняется тем что структура сайта представлена в виде дерева.
И необходимо как-то проверять доступность родительских страниц...

Так понимаю - что это будет что-то очень сложное - и будет связанно с хранимыми процедурами и функциями?

--
Спасибо.

Отредактированно Slorvengo (13.08.2013 17:09:29)


Прикрепленные файлы:
Attachment Icon Головоломка по поиску.png, Размер: 76,402 байт, Скачано: 344

Неактивен

 

#2 14.08.2013 00:38:38

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Головоломка по поиску по сайту...

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

Неактивен

 

#3 14.08.2013 10:30:28

Slorvengo
Завсегдатай
Зарегистрирован: 08.08.2013
Сообщений: 46

Re: Головоломка по поиску по сайту...

Правильно понимаю логику:

Сначала поиск делается по content-таблице...
И после мы проверяем страницу содержимого - (сначала ее родителя и потом родителя, родителя и так до корня)...

Неактивен

 

#4 14.08.2013 12:19:17

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Головоломка по поиску по сайту...

Да, это один из вариантов. Если глубина дерева заранее не задана, то без цикла не обойтись

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson