Дерево категорий: уменьшить время построения
Имеется страница, на которой отображаются дерево категорий (главная категорий и ее дети).
Таблица в формате: name и parent_Id
Количество строк: 1 тыс.
Алгоритм составлен таким образом, что для вывода такого дерева требуется 1 тыс. запросов к БД, то есть для каждой категории проверяет, есть ли у нее дети.
select * from `categories` where `parent_id` = 83; и так 1 тыс. раз., с перебором по ID.
Вследствие чего, такая страница загружается от 8 до 15 секунд. В рамках задачи, необходимо минизировать количество запросов, идеально 1 запрос, который все сохранит в массив и потом сделает перебор. Такие алгоритмы есть, могут дать ссылки на примеры.
Реализация исходного дерева на Laravel (php в blade файлах), вывод осуществляется с помощью двух файлов.
Вам будет предоставлен файл, который необходимо будет изменить. Основная метрика выполнение данного задания, это загрузка до 3 секунд.