F
добрый день
хостинг начал ругатся на медленные запросы в базу данных
пример запросов
это поправимо? может кто знает как исправить запросы? может кто за деньги исправит это? на сайте 12 тыс товаров
SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_category_path cp LEFT JOIN oc_product_to_category p2c ON (cp.category_id = p2c.category_id) LEFT JOIN oc_product p ON (p2c.product_id = p.product_id) LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '1' AND p.status = '1' AND p2s.store_id = '0' AND cp.path_id = '15'
SELECT MIN(p.price) AS `min`, MAX(p.price) AS `max` FROM oc_product p LEFT JOIN oc_product_to_category p2c ON (p.product_id = p2c.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN oc_category_path cp ON (p2c.category_id = cp.category_id) WHERE p.status = '1' AND p.price > '0' AND p2s.store_id = '0' AND p.date_available <= '2021-08-02' AND cp.path_id = '156'
SELECT * FROM (SELECT p.product_id, p.sort_order, p.model, pd.name, p.quantity, p.price,p.date_added,(SELECT AVG(rating) AS total FROM oc_review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT price FROM oc_product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '1' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM oc_product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '1' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special FROM oc_category_path cp LEFT JOIN oc_product_to_category p2c ON (cp.category_id = p2c.category_id) LEFT JOIN oc_product p ON (p2c.product_id = p.product_id) LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND cp.path_id = '15' GROUP BY p.product_id ORDER BY (p.price>0) DESC,(p.image>'') DESC,(p.quantity>0) DESC,p.date_added DESC, p.sort_order DESC, LCASE(pd.name) DESC LIMIT 0,15) p ORDER BY p.date_added DESC, p.sort_order DESC, LCASE(p.name) DESC LIMIT 0,5
хостинг начал ругатся на медленные запросы в базу данных
пример запросов
это поправимо? может кто знает как исправить запросы? может кто за деньги исправит это? на сайте 12 тыс товаров
SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_category_path cp LEFT JOIN oc_product_to_category p2c ON (cp.category_id = p2c.category_id) LEFT JOIN oc_product p ON (p2c.product_id = p.product_id) LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '1' AND p.status = '1' AND p2s.store_id = '0' AND cp.path_id = '15'
SELECT MIN(p.price) AS `min`, MAX(p.price) AS `max` FROM oc_product p LEFT JOIN oc_product_to_category p2c ON (p.product_id = p2c.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN oc_category_path cp ON (p2c.category_id = cp.category_id) WHERE p.status = '1' AND p.price > '0' AND p2s.store_id = '0' AND p.date_available <= '2021-08-02' AND cp.path_id = '156'
SELECT * FROM (SELECT p.product_id, p.sort_order, p.model, pd.name, p.quantity, p.price,p.date_added,(SELECT AVG(rating) AS total FROM oc_review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT price FROM oc_product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '1' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM oc_product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '1' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special FROM oc_category_path cp LEFT JOIN oc_product_to_category p2c ON (cp.category_id = p2c.category_id) LEFT JOIN oc_product p ON (p2c.product_id = p.product_id) LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND cp.path_id = '15' GROUP BY p.product_id ORDER BY (p.price>0) DESC,(p.image>'') DESC,(p.quantity>0) DESC,p.date_added DESC, p.sort_order DESC, LCASE(pd.name) DESC LIMIT 0,15) p ORDER BY p.date_added DESC, p.sort_order DESC, LCASE(p.name) DESC LIMIT 0,5