Добрый лень уважаемы знатаки помогите разобратся.
Оптимизировал все что мог.
Сайт иногда просто зависает на длительное время 10-20 секунд. Смотрю медленые запросы к базе данных там такое:
SELECT p.product_id, (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 FROMoc_product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '1' ANDpd2.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) ASdiscount, (SELECT price FROM oc_product_special ps WHERE ps.product_id = p.product_id ANDps.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_product p 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) LEFT JOIN oc_product_master pmON pm.product_id = p.product_id WHERE (pm.master_product_id = -1 OR pm.master_product_id > 0 ORpm.master_product_id IS NULL) AND pd.language_id = '3' AND p.STATUS = '1' AND p.date_available <=NOW() AND p2s.store_id = '0' GROUP BY p.product_id ORDER BY p.date_added DESC, LCASE(pd.name)DESC LIMIT 0,4
Что это заз запрос и как его оптимизировать?
еще есть такие данные
Тип выборкиВозможные ключиКлючСсылкаСтрокиДополнительная информацияPRIMARY :p
range
PRIMARY,wg_statusAndDatewg_statusAndDate (4)1417Using where; Using temporary; Using filesortPRIMARY :pm
index
PRIMARY (12)1168Using where; Using indexPRIMARY :p2s
eq_ref
PRIMARY,wg_store_id,store_idPRIMARY (8)ovblviv_gofin.p.product_id,const1Using where; Using indexPRIMARY :pd
eq_ref
PRIMARY,wg_language_id,language_idPRIMARY (8)ovblviv_gofin.p2s.product_id,const1Using whereDEPENDENT SUBQUERY : ps
ref
product_idproduct_id (4)func1Using where; Using filesortDEPENDENT SUBQUERY :
Impossible WHERE noticed after reading const tablesDEPENDENT SUBQUERY : r1
ref
product_idproduct_id (4)func1Using where