Ситуация такая: есть стандартная таблица в мускуле с полями (id, cid, title). Она представляет разделы каталога товаров. Главные разделы имеют cid = -1, дочерние в cid'e хранят id родителя. Меню каталога на сайта строится следующим образом: Делаем запрос (select `id`,`title` from `categ` where `cid` = '-1') и циклом выводим всех родителей. Если пользователь выбирает один из разделов то мы так же выводим Всех родителей и под выбранным его детей. Все это делается SQL запросами в циклах. Уж больно это мне кажется расточительным и не грамотным. Подскажите если я все категории сначала в массив соберу одним запросом в цикле и уже потом буду выводить дочерние - будет ли это быстрее работать? Или может быть поделитесь своими сИкретам оптимизации кода Спасибо.
да, если памяти хатит (меню не тысячи строк) можно хранить список детей и/или путь наверх, но задолбаешься с обновлением. в общем случае - гуголь - nested set