Привет! Как можно оптимизировать данный запрос ? Индексы (primary) по тем полям где join стоят. Есть индекс (status, date_available) и (path_id, category_id). Пытался добавить составной индекс для order by, но он ничего прироста скорости не даёт. Ещё в oc_category_path и order by используется filesort, как можно избавиться от этого ?
SELECT
`fgd`.`name` AS `gname`,
`fgd`.`mf_tooltip` AS `tooltip`,
`f`.`filter_group_id`,
`f`.`filter_id`,
`fd`.`name`
FROM
`oc_product` AS `p`
INNER JOIN
`oc_product_filter` AS `pf`
ON
`p`.`product_id` = `pf`.`product_id`
INNER JOIN
`oc_filter` AS `f`
ON
`pf`.`filter_id` = `f`.`filter_id`
INNER JOIN
`oc_filter_description` AS `fd`
ON
`pf`.`filter_id` = `fd`.`filter_id`
INNER JOIN
`oc_filter_group_description` AS `fgd`
ON
`f`.`filter_group_id` = `fgd`.`filter_group_id`
INNER JOIN
`oc_product_to_category` AS `p2c`
ON
`p2c`.`product_id` = `p`.`product_id`
WHERE
`p`.`status` = '1' AND `p`.`date_available` <= NOW() AND `p2c`.`category_id` IN(SELECT `category_id` FROM `oc_category_path` WHERE `path_id` IN(66))
GROUP BY
`f`.`filter_group_id`, `f`.`filter_id`
ORDER BY
`f`.`sort_order`, `fd`.`name`
Вот explain запроса: