Пообщался со службой поддержки хостинга, прислали лог медленных запросов....
Есть вот такой:
# User@Host: amigo[amigo] @ localhost [] Id: 9891890
# Schema: amigo Last_errno: 0 Killed: 0
# Query_time: 17.493991 Lock_time: 0.000058 Rows_sent: 0 Rows_examined: 1 Rows_affected: 1
# Bytes_sent: 52
use amigo;
SET timestamp=1519554803;
UPDATE oc_product SET viewed = (viewed + 1) WHERE product_id = '1381';
И кучка вот таких, они одинаковые:
# User@Host: amigo[amigo] @ localhost [] Id: 26602779
# Schema: amigo Last_errno: 0 Killed: 0
# Query_time: 16.622560 Lock_time: 0.002381 Rows_sent: 4 Rows_examined: 4691108 Rows_affected: 0
# Bytes_sent: 454
use amigo;
SET timestamp=1520716153;
SELECT IF(t1.cprice>t1.price,1,-1)*(t1.cprice-t1.price),min(t1.rnd),t1.product_id,name,text,t2.attribute_id FROM (SELECT RAND() as rnd,pa2.product_id,pr.price,cpr.price as cprice,count(pa2.attribute_id) as quan FROM oc_product_attribute pa1 INNER JOIN oc_product_attribute pa2 ON (pa1.attribute_id = pa2.attribute_id and pa1.text = pa2.text and pa1.language_id = pa2.language_id) INNER JOIN oc_product pr ON (pa2.product_id = pr.product_id and pr.status = 1) LEFT JOIN oc_product cpr ON (pa1.product_id = cpr.product_id)
INNER JOIN oc_product_to_category cat_source on(pa1.product_id = cat_source.product_id) INNER JOIN oc_product_to_category cat on(pa2.product_id = cat.product_id AND cat.category_id = cat_source.category_id) WHERE 0 = 0 AND pa1.language_id = '1' AND pr.quantity > 0 GROUP BY cpr.product_id,pr.price,cpr.price UNION ALL SELECT RAND() as rnd,cpr.product_id,cpr.price,pr.price as cprice, 1 as quan FROM oc_product pr LEFT JOIN oc_product cpr ON (pr.product_id <> cpr.product_id and cpr.status = 1)
INNER JOIN oc_product_to_category cat_source ON (pr.product_id = cat_source.product_id) INNER JOIN oc_product_to_category cat ON (cpr.product_id = cat.product_id AND cat.category_id = cat_source.category_id) AND cpr.quantity > 0 GROUP BY cpr.product_id,pr.price,cpr.price order by quan desc) t1 INNER JOIN oc_product_to_category cat on(t1.product_id = cat.product_id) LEFT JOIN (select '' as name, '' as text, 0 as attribute_id) as t2 on (0=0) WHERE 0=0 GROUP BY IF(t1.cprice>t1.price,1,-1)*(t1.cprice-t1.price),product_id,name,text,attribute_id ORDER BY IF(t1.cprice>t1.price,1,-1)*(t1.cprice-t1.price), t1.product_id LIMIT 4;
Скоро рассвет, пытаюсь разобраться, но не получается