JD *_*cks 1 mysql sql performance
好的,我有这个购物车中的产品清单.我正在尝试将所有相关项目检索到购物车中的商品,而不会拉出购物车中的任何商品.
我编写了这个查询,它完全按照我想要的方式提取,但它的运行时间为8秒.
SELECT * FROM cart_product
WHERE product_id
IN(
SELECT product_related_related_id FROM `cart_product_related`
WHERE product_related_product_id
IN (5401,5402,4983,5004)
)
AND product_id
NOT IN(5401,5402,4983,5004)
Run Code Online (Sandbox Code Playgroud)
显示行0 - 2(总共3行,查询占用7.9240秒)
有什么方法可以优化它以使其运行更快?
谢谢!
你应该用JOIN替换子查询,它应该加快速度.
像这样的东西:
SELECT DISTINCT cart_product.* FROM cart_product
INNER JOIN cart_product_related ON product_id = product_related_related_id
WHERE product_related_product_id IN (5401,5402,4983,5004)
AND product_id NOT IN(5401,5402,4983,5004)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
142 次 |
| 最近记录: |