Как бы вы получили древовидные данные из базы данных с наилучшей производительностью? Например, скажем, у вас есть папка-иерархия в базе данных. Где строка-папка-база данных имеет столбцы ID , Имя и ParentID .
Использовали бы вы специальный алгоритм для одновременного получения всех данных, минимизируя количество обращений к базе данных и обрабатывая их в коде?
Или вы бы использовали много обращений к базе данных и вроде бы получали структуру, сделанную непосредственно из базы данных?
Может быть, есть разные ответы в зависимости от количества строк в базе данных, глубины иерархии или чего-то еще?
Редактировать : Я использую Microsoft SQL Server, но интересны и другие перспективы.