Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Многоуровневый каталог (Виктор) 13/07/2004 - 14:59:36
      Re: Многоуровневый каталог (Alec) 13/07/2004 - 15:27:58
      Re: Многоуровневый каталог (Валентин) 13/07/2004 - 16:44:16
      Re: Многоуровневый каталог (Андрей) 14/07/2004 - 11:52:08
      Re: Несколько способов (Sam) 14/07/2004 - 14:38:26
      Re: Несколько способов (Валентин) 14/07/2004 - 16:09:48
      Re: Несколько способов (Виктор) 14/07/2004 - 16:47:28



From: Виктор - 13/07/2004 - 14:59:36
Subject:Многоуровневый каталог
-----------------
Джентельмены!

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

Я взял за основу ссылку на родителя элемента и пытаюсь строить часть дерева.

структура таблицы:
ID
parentID
hasChilds

nodeName
value

последние два определяют данные элемента каталога, а дерево получается за счет связки ID-parentID. hasChilds стопер, обновляется при добавлени и удалении елементов для parentID.

Как я строю меню по этому дереву
1) нахожу текущий элемент, например, по значению (один запрос)
2) строю цепочку его родителей к корню (по parentID), чтобы активировать всю ветвь (отдельный запрос на каждый елемент :( )
3)затем нахожу всех соседей, т.е детей parentID (еще один запрос).

есть ли более быстрая схема? Можно ли и стоит ли упаковывать шаг 2 в один запрос (и собственно как :) )?


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
16074



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |