К сожалению, дебаггер обрезает запросы, и я еще не понял как их полностью вывести, но если устроят начальные куски их (по идее из них видно, что это за запрос), то вот такая картина (холодный старт):
SELECT p.product_id, (SELECT AVG(rating) AS total FROM review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating FROM product p LEFT JOIN product_description pd ON (p.product_id = pd.product_id) LEFT JOIN product_to_store p2s ON (p.product_id = p2s.product_id
0.19743750 s
SELECT DISTINCT m.`manufacturer_id`, m.`name` FROM `manufacturer` m LEFT JOIN product p ON(p.manufacturer_id=m.`manufacturer_id`) LEFT JOIN product_to_category p2c ON(p.product_id=p2c.product_id) LEFT JOIN product_to_store p2s ON(p.product_id=p2s.product_id) WHERE p.status = '1' AND p.date_availa
0.10013175 s
SELECT DISTINCT pa.text, a.`attribute_id`, ad.`name`, ag.attribute_group_id, agd.name as attribute_group_name FROM `product_attribute` pa LEFT JOIN attribute a ON(pa.attribute_id=a.`attribute_id`) LEFT JOIN attribute_description ad ON(a.attribute_id=ad.`attribute_id`) LEFT JOIN attribute_group ag
0.56159700 s
SELECT DISTINCT *, pd.name AS name, p.image, m.name AS manufacturer, (SELECT price FROM product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '8' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < '2013-03-12 23:59:59') AND (pd2.date_end = '
0.01184400 s
Последний запрос повторяется столько раз, сколько товаров выводится (у меня 12), и каждый раз так же медленно выполняется.
Страница категории, 12 товаров на страницу, из модулей только список категорий в шапке и сбоку (всего пара десятков, без подсчета), ну и фильтрпро с фильтрацией по цене, производителю и одной единственной группе атрибутов (тип товара).