Дерево категорий: уменьшить время построения

Антон13 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
04.09.2021

Имеется страница, на которой отображаются дерево категорий (главная категорий и ее дети).

Таблица в формате: name и parent_Id

Количество строк: 1 тыс.

Алгоритм составлен таким образом, что для вывода такого дерева требуется 1 тыс. запросов к БД, то есть для каждой категории проверяет, есть ли у нее дети.

select * from `categories` where `parent_id` = 83; и так 1 тыс. раз., с перебором по ID.

Вследствие чего, такая страница загружается от 8 до 15 секунд. В рамках задачи, необходимо минизировать количество запросов, идеально 1 запрос, который все сохранит в массив и потом сделает перебор. Такие алгоритмы есть, могут дать ссылки на примеры.

Реализация исходного дерева на Laravel (php в blade файлах), вывод осуществляется с помощью двух файлов.

Вам будет предоставлен файл, который необходимо будет изменить. Основная метрика выполнение данного задания, это загрузка до 3 секунд. 

Заявки фрилансеров