Ответы пользователя по тегу Nested set
  • Хранение деревьев в Mysql какие есть способы?

    @eandr_67
    web-программист (*AMP, Go, JavaScript, вёрстка).
    Существует 4 основных способа хранения деревьев в реляционной БД:

    Adjacency List - описан @Satanpit.

    Matherialized Path - полный путь до узла хранится в виде строки типа 0035.0993.7324.1256 (т.е. узел верхнего уровня содержит строку 0035, узел второго уровня - строку 0035.0993 и т.д.)

    Nested Set - для каждого узла хранятся 2 числа: левый и правый индексы. Причём левый индекс узла меньше левого индекса любого потомка этого узла, а правый индекс соответственно больше.

    Closure Table - отдельно храним данные, отдельно иерархию.

    А ещё есть комбинации этих способов.

    По всем этим способам в рунете (в том числе на хабре) существует большое количество информации.
    Ответ написан
    2 комментария