ФорумРазработкаБазы данных → Дерево категорий и разделов (materialized path)

Дерево категорий и разделов (materialized path)

  • md5

    Сообщения: 11951 Репутация: N Группа: в ухо

    Spritz 16 марта 2014 г. 10:20

    Всем привет, тема заезженная, но все же.
    кстати, поиск по каким-то причинам не пашет

    Для комментариев в дереве я использую MP, там только вставка новых строк и выборка полного дерева - работает охуенно быстро, все нравится.

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

    Как обстоят дела с перемещением в MP? Они же завязаны на ID вставляемых записей и сортируются по пути, который формируется из последовательности ID

    Может мне стоит использовать NS?

    Дерево будет небольшим, около 100 категорий

    {+++72+++}
    а еще я увидел такое
    все умрут, а я изумруд
  • adw0rd

    Сообщения: 22902 Репутация: N Группа: в ухо

    Spritz 16 марта 2014 г. 10:31, спустя 11 минут 19 секунд

    а еще я увидел такое

    да это все видят периодически, но воспроизвести не могут

    adw/0
  • phpdude

    Сообщения: 26617 Репутация: N Группа: в ухо

    Spritz 16 марта 2014 г. 10:32, спустя 37 секунд

    Дерево будет небольшим, около 100 категорий

    я бы ваще в json хранил )))) нахуй все эти структуры в базе 😜

    Сапожник без сапог
  • md5

    Сообщения: 11951 Репутация: N Группа: в ухо

    Spritz 16 марта 2014 г. 11:23, спустя 51 минуту 28 секунд

    ну по ним там статистика, кол-во товаров и не только…
    все умрут, а я изумруд
  • master

    Сообщения: 3236 Репутация: N Группа: Джедаи

    Spritz 16 марта 2014 г. 13:09, спустя 1 час 45 минут 51 секунду

    Как обстоят дела с перемещением в MP?

    хуёво:

    http://habrahabr.ru/post/46659/
    Следует отметить, что наиболее неприятной в данном алгоритме будет операция вставки узла в середину уже существующей структуры (между другими узлами), т.к. это повлечет изменение всех путей в нижележащих узлах. Хотя, справедливости ради, следует сказать, что такая операция окажется нетривиальной для любой модели хранения данных. Другая тяжелая операция — это перенос одной ветки в другую.


    Может мне стоит использовать NS?

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

    Дерево будет небольшим, около 100 категорий

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

Пожалуйста, авторизуйтесь, чтобы написать комментарий!