Погуглив и наткнувшись на stackoverflow узнал, что деревья бывают 3х видов.
Рекурсивные - это когда создаешь элемент, потом еще один элемент и устанавливаешь ему родительский, у этого элемента еще один и указываешь предыдущий родительским и т.д... где рисуется дерево в результате рекурсии.
Вложенные(?), это какие-то там left right ячейки в таблицах, как это работает - ЯННП. Фиг с ними, значит оно нам не нужно(?).
Материализованные - это обычные пути, например пять сообщений с ID 1 2 3 4 5, и влажения представлены в виде путей: /1/2/4 /3/5
Кажется, использовать классические пути самое простое в плане производительности: один SQL запрос с выборкой LIKE по маске /1/* например. Но при добавлении новой записи в таблицу, это ж наверно придется обновлять все значения в таблице?
Я нуб в SQL и просто не знаю какой алгоритм лучше взять.