Решения некоторых задач средствами баз данных

Хранение деревьев, иерархические указатели

Дерево - это когда например, есть группы, подгруппы, подргуппы к подгруппам и т.д.

Рекурсия для хранения деревьев не лучший вариант с точки зрения производительности. Лучше хранить деревья с помощью иерархических указателей.
Категории верхнего уровня получают указатели:
01, 02, ...., 09, 110, 111, 112, ... 199, 2100, 2101, ...
Принцип: к номеру объекта прибавляется слева количество цифр минус один. Если бы номер был 6449, то строка получила бы  идентификатор 36449.

Теперь, для строки есть чайлды, а строка имела номер 112, то чайлды нумеруются так:
112.01, 112.02, 112.03, ...
Нумерация чайлдов производится точно так же, как на первом уровне, только в начале указателя чайлда стоит иерархический указатель родителя.

Выгода от использования иерархического указателя состоит в том, что все объекты можно получить отсортированными с помощью одного запроса (order by hi, где hi - поле с иерархическим указателем).
Чтобы из скрипта, который получил все объекты, определить уровень вложенности, надо посчитать количество точек внутри этого иерархического указателя.