Где формируется запрос ?
Уважаемые Гуру, подскажите:
1. из какого модуля / скрипта может формироваться данный запрос ?
2. физический смысл этого запроса ?
SELECT DISTINCT pf5.feature_id, pf5.feature_value_id FROM shop_product p JOIN shop_product_features pf1 ON p.id = pf1.product_id AND pf1.feature_id = 15 JOIN shop_product_features pf2 ON p.id = pf2.product_id AND pf2.feature_id = 24 JOIN shop_product_features pf3 ON p.id = pf3.product_id AND pf3.feature_id = 20 JOIN shop_product_features pf4 ON p.id = pf4.product_id AND pf4.feature_id = 21 JOIN shop_category_products cp1 ON p.id = cp1.product_id JOIN shop_product_features pf5 ON p.id = pf5.product_id WHERE pf1.feature_value_id IN (5881) AND pf2.feature_value_id IN (736) AND pf3.feature_value_id IN (1232) AND pf4.feature_value_id IN (1216) AND p.status = 1 AND cp1.category_id IN(988);
с ув. Сергей
3 ответа
Это работает фильтр в категориях товаров.
Работает очень долго, можно его как то убыстрить ?
Поставить отдельный сервер под базу данных предлагать можно?
нет, лучше оптимизировать запрос
на локальной машине при 350.000 зап. в таблице shop_product_features работает 27 сек, и выдает 24 строки
причём, если убираю одно условие фильтра - то выборка происходит за 10 сек
если ещё одно то за 2 сек
машина: i7, 2.8Гц, 4Гб; Windows7х64
---
Убрал дистинкт, оказывается он убирает дубли у более 20 млн зап - вот на этом всё стопорится