首页 > 解决方案 > Opencart MySQL 响应非常慢

问题描述

我正在使用 Opencart。

10M产品SQL表

SQL 负责的很慢。

我的服务器信息;48 CPU 64GB 内存

PHP 7.3 Mariadb 10.3 Nginx + PHP-FPM

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 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())) 按 pd2.priority ASC 订购,pd2.price ASC 限制 1) 作为折扣,(从 oc_product_special ps 选择价格,其中 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() )) 由 ps.priority ASC 订购,ps。价格 ASC 限制 1) 作为特殊 FROM oc_product_to_category p2c 左连接 oc_product p ON (p2c.product_id = p.product_id) 左连接 oc_product_description pd ON (p.product_id = pd.product_id) 左连接 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 p2c.category_id = '18' GROUP BY p.product_id ORDER BY p.sort_order ASC, LCASE(pd.name) ASC LIMIT 0,4818' GROUP BY p.product_id ORDER BY p.sort_order ASC, LCASE(pd.name) ASC LIMIT 0,4818' GROUP BY p.product_id ORDER BY p.sort_order ASC, LCASE(pd.name) ASC LIMIT 0,48

标签: opencart

解决方案


推荐阅读