white phoenix
1. Хорошо бы записать запросы (или скрипты на РНР, если задачу одним запросом решить невозможно) для выполнения следующих основных операций:
- выборка всех непосредственных детей
- выборка поддерева
- выборка всех родителей
- добавление вершины
- удаление вершины вместе с поддеревом
- перемещение вершины вместе с поддеревом
Некоторые запросы ты, вероятно, уже запрограммировал, а некоторые - можешь найти по приведенной мной ссылке. Остальные - хорошо бы составить для полноты сравнения.
2. Для каждого запроса сравнить с соответствующими запросами в двух других основных способах - с запросами во вложенных множествах и с запросами в списках смежностей. Сравнение нужно производить с точки зрение "там - лучше (проще, быстрее, понятнее) тем-то и тем-то", "здесь - лучше (проще, быстрее, понятнее) тем-то и тем-то", "там - хуже (сложнее, медленнее, непонятнее) тем-то и тем-то", "здесь - хуже (сложнее, медленнее, непонятнее) тем-то и тем-то".
3. Если для каких-то запросов в исследуемом методе ты пишешь "здесь - быстрее", то хорошо бы запрограммировать соответствующие способы и сравнить время фактического выполнения запросов.
4. Если ты не можешь написать, что "здесь - быстрее", то хорошо особо пристальное внимание уделить вопросам "здесь - понятнее (и там - непонятнее) тем-то и тем-то", "здесь - проще (и там - сложнее) тем-то и тем-то".