В итоге, благодаря еще одному рецепту удалось снизить время выполнения до 0,2-0,6 сек (VDS 1700МГц)
_voland_ добавил 13.09.2010 в 21:11
dk547: Можно не менять структуру, но снизить сложность до 1 прохода по списку. Для этого правда нужно ввести отдельный индекс (сортированный список), в котором проиндексировать каждый каталог со списком всех своих чилдов, что-то типа:
Такой индекс можно рассчитывать заранее и хранить в отдельной таблице или еще как.
Имея дело с деревом adjacency list от рекурсии можно избавится только вот такими ухищрениями, которые имеют свою цену. Например, более сложное обновление каталогов.
Спасиб, вариант, если каталог разрастется - придется использовать
После добавления указанной выше строки проблема не решилась. Яндекс все равно индексирует коряво.
Есть ли еще решения данной проблемы?
Заранее спасибо.
Проверьте, работает ли - достаточно отключить в браузере куки и самому зайти на сайт
Что за тематика? И как будет осуществляться контроль?
100-200$ - серч
500-1000$ - нормальные фрилансеры
1000-2000$ - вебстудии хорошего уровня
20 000$ - Тёма
Joomla 1.5, верстка от 1500 до 20 000. Всё зависит от проекта.
Это не потом, так как для этого придется писать отдельный компонент, и соответсвенно его также верстать. Цена зависит от того, что там за инструкция
Нужна только натяжка или также поиск компонентов\программирование?
В итоге, благодаря еще одному рецепту удалось снизить время выполнения до 0,2-0,6 сек (VDS 1700МГц)
_voland_ добавил 13.09.2010 в 21:11
Можно не менять структуру, но снизить сложность до 1 прохода по списку. Для этого правда нужно ввести отдельный индекс (сортированный список), в котором проиндексировать каждый каталог со списком всех своих чилдов, что-то типа:
categoryA, categoryB
categoryA, categoryC
categoryA, categoryD
..
Такой индекс можно рассчитывать заранее и хранить в отдельной таблице или еще как.
Имея дело с деревом adjacency list от рекурсии можно избавится только вот такими ухищрениями, которые имеют свою цену. Например, более сложное обновление каталогов.
Спасиб, вариант, если каталог разрастется - придется использовать
;7605641']Я имел в виду общее количество итераций за один вызов скрипта.
Мне тоже кажется, что оно у вас работает подозрительно медленно.
Ну в среднем 5 за раз, 7 рекурсий - итого 35 раз.. совсем не много..
В один проход вызывается от 2 до 10 функций рекурсивно.. глубино рекурсии до 7.
Верно, это дерево каталогов, данные хранятся в виде строк id, parent в каждой.
Пишу не с нуля, так что преобразовывать структуру - никак.
;7604760']Попробуйте массивы в функции обявить как global, и передавать только "текущую позицию".
Передаются указатели на массивы, так что есть ли смысл?