Форум → Программирование → PHP для идиотов → Материализованный путь (деревья)
Материализованный путь (деревья)
-
Март 29, 2011, 5:14 п.п., спустя 1 минуту 10 секунд
NS,AL с ними все ясно в принципе.
Насчет MP,я нашел очень мало доков по нему. Поэтому прошу помощи у вас.
Как извлекать отсортированную таблицу собственно? Ясно,что по одному path отсортировать на уровне БД (Mysql) в правильном порядке нельзя. Нужно использовать доп. поле? Например,position. Но int(x) тоже не даст нужного результата,придется изменять позиции всего нижнего дерева при изменении структуры.
Я из лесу или я правильно понял все?
Я кажется не туда ее запостил,извиняйте. -
Март 29, 2011, 4:52 п.п., спустя 23 часа 38 минут 16 секунд
Не материальный, а материализованный путь :)
Х/ знает что ты имел в виду под "по одному path отсортировать на уровне БД (Mysql) в правильном порядке нельзя. " – это почему нельзя? Материализованный путь хорош тем, что его иерархия и порядок сортировки задаются естественным способом как нумерация списка - полем path.
Можно извлекать как
…
WHERE path like 'my.path.to.%'
ORDER BY pathιιlllιlllι унц-унц -
Март 29, 2011, 5:13 п.п., спустя 20 минут 34 секунды
да,материализованный,не до этого было.
Да оно прекрасно…но как тогда вставлять данные то? Т.е мп подразумевает то что данные будут вставлятся исключительно в "правильном порядке" и подобное недопустимо?.
1.
1.2.
1.2.
1.2.
1.
1.
1.
1.2 (моветон?)
1.
1.
Ведь такую структуру он не отсортирует. Получается что МП без допиливания используется искл. для узких целей. Хранение деревья каментов?! -
Март 29, 2011, 5:37 п.п., спустя 24 минуты 3 секунды
да, это не лечится. путь должен уникально указывать на узел. тут кажется проблемы с пониманием задачи, а не с алгоритмом.ιιlllιlllι унц-унц -
Март 29, 2011, 6:03 п.п., спустя 26 минут 19 секунд
Да не,я просто изучал все типы хранения иерархических структур=)
Спасибо. -
Окт. 21, 2012, 1:54 п.п., спустя 571 день 19 часов 50 минут
Если данные часто меняются, лучше оставаться с adjacency list. Другие способы слишком накладны на вставках/изменениях.ιιlllιlllι унц-унц -
Окт. 21, 2012, 5:23 п.п., спустя 3 часа 29 минут 18 секунд
Чувак, инструмент должен подбираться к задаче! Опытный человек отличается от школоты тем, что спинным мозгом чует где чего использовать.
В реальной жизни всё конкретно.: есть два больших класса задач: OLTP и OLAP. Упрощенно в первой идет постоянное накопление, а во второй идут постоянные раскопки данных, а закачиваются они туда только время от времени по специальной команде. Угадай где какой метод иерархии применим.ιιlllιlllι унц-унц
Пожалуйста, авторизуйтесь, чтобы написать комментарий!