Задать вопрос
  • Как динамически создавать sitemap в yii2?

    @bashcod
    Не видя кода и данных отладки трудно что либо сказать конкретно.

    Количество запросов зависит от количества сущностей для которых вы строите карту сайта (N).
    Так же количество запросов зависит от количества подключаемых связей в них (N*M).
    Почитайте про отложенную и жадную загрузку.
    Научитесь пользоваться дебаггером (Yii Debug Panel). Там пишется сколько ресурсов и куда уходит, сколько времени тратится на выполнение запросов, в каком порядке они выполняются и какой участок кода вызывает их выполнение.
    Далее почитайте про кэширование результатов запросов во фреймворке.
    И еще, возможен вариант, что не индексированы поля в БД и поэтому БД дает нагрузку (тупо перебирает все записи вместо поиска по индексу).

    Если все это не помогает.
    Делаете задачу в консоли на формирование файла с картой сайта.
    Задача кладет файл куда Вам нужно.
    Далее настраиваете крон с этим задании. Периодичность выбираете в зависимости от периодичности обновления сайта и необходимости актуализации. Это позволить не делать сложные запросы при каждом посещении или запросе карты сайта.
    Ответ написан
    7 комментариев