opencart - 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
解决方案
推荐阅读
- windows - 在 Windows 上使用“vagrant up”启动 vagrant box 时出错
- r - 在R中使向量长度相同
- java - 意外的 AOP 异常;嵌套异常是 java.lang.IllegalStateException: Unable to load cache item
- ios - 如何在 Xcode 中调试
- c++ - 如何从 C++ 中每个十六进制字符字节的十六进制字符串创建一个 0x 附加十六进制字符串?
- kubernetes - Prometheus 目标:服务器返回 HTTP 状态 403 Forbidden
- android - 单击按钮时,我希望将 Fragment 1 布局替换为 Fragment 2 布局,但它会抛出:java.lang.NullPointerException
- reactjs - 由于窗口未定义,React 测试库失败
- java - 基于多个目录的spring profile配置
- r - 在 R 中并排查看或显示列表