Jon
Новичок
Есть запрос вида.
Вся проблема в том что необходимо искать по размерам обувь. И если человек выбрал размерную сетку "СМ" то нужно выбрать значение "US" , сообтетствующие выбраным "СМ"
Таблица вида
Данный запрос выполняется 4-5 секунд, из-за выбора размеров. Подскажите как можно оптимизировать. может промежуточную таблицу нужно сделать.
PHP:
SELECT a.good_id,a.title,a.typesize, IF (a.typesize, (SELECT MIN(price)FROM `goods_size` WHERE good_id = a.good_id), a.price) AS `price`
FROM goods a
LEFT JOIN base_podcategory b ON a.podcat_id=b.podcat_id
LEFT JOIN goods_size d ON a.good_id=d.good_id
WHERE a.publication=1 AND b.cat_id=4 AND a.podcat_id=35 AND d.size IN (SELECT GROUP_CONCAT(DISTINCT US ORDER BY US ASC SEPARATOR ',') FROM base_brands_size_shoes WHERE CM IN ('21','21.5','22','22.5','23','23.5','24','24.5','25','25.5','26','26.5','27','27.5','27.75','28','28.5','29','29.5','30','30.5','31','31.5','32','32.5','33','33.5','34','34.5') AND podcat_id=a.podcat_id)
GROUP BY a.good_id
HAVING `price`>0 AND `price` >=300 AND `price` BETWEEN 300 AND 7400
Таблица вида

Данный запрос выполняется 4-5 секунд, из-за выбора размеров. Подскажите как можно оптимизировать. может промежуточную таблицу нужно сделать.