Я не претендую на скорость
Я могу сказать, что все фишки про быстрые карты это обман
Если, конечно не предпринимать особых действий
Основной тормоз - это выборки
SELECT product_id FROM product WHERE status = 1
Это база
Но, как толко подключаем картинки
и используем caption, то нужно подключать
product_description
SELECT p.product_id, pd.name FROM product p
Join product_desciption pd ON p.product_id=pd.product_id AND language_id= ...
WHERE status = 1
Далее -
$this->url->link
Есть другой способ
SELECT p.product_id, pd.name, keyword FROM product p
Join product_desciption pd ON p.product_id=pd.product_id AND language_id= ...
JOIN seo_url su ON 1
WHERE su.query = CONCAT('product_id=', product_id)
WHERE status = 1
Но там находится только "короткий" url
Нужен полный путь
Можно заранее подготовить таблицу, неспешно
И отдавать ее
Можно карту формировать в кроне, а отдавать уже статику
Моя карта - имеет время жизни, например 2 дня - т.е. статика
Если вы назовете еще более быстрый способ - сниму шляпу.