gpt4 book ai didi

mysql - sql查询执行时间很长

转载 作者:行者123 更新时间:2023-11-29 13:16:29 25 4
gpt4 key购买 nike

我尝试以良好的响应时间执行以下 SQL 查询,但是当我添加 ORDER BY 语句时,查询不会返回任何内容超过 5 分钟。

SELECT *  
FROM orders co
LEFT JOIN (SELECT * FROM prod_orders) AS pc
ON co.id_order = pc.id_order
LEFT JOIN (SELECT * FROM clients) AS cl
ON co.id_client = cl.id_client
LEFT JOIN (SELECT * FROM clients_address) AS ca
ON co.id_client = ca.id_client
LEFT JOIN (SELECT * FROM clienti_firme) AS cf
ON ca.id_client = cf.id_client
ORDER BY co.id_order

最佳答案

如果 Order By 减慢了速度,请尝试:

SELECT *  
FROM (SELECT * FROM orders ORDER BY id_order) AS co
LEFT JOIN prod_orders AS pc
ON co.id_order = pc.id_order
LEFT JOIN clients AS cl
ON co.id_client = cl.id_client
LEFT JOIN clients_address AS ca
ON co.id_client = ca.id_client
LEFT JOIN clienti_firme AS cf
ON ca.id_client = cf.id_client
ORDER BY co.id_order

也许所有派生表的执行计划都使其对第一个表(订单)的每一行运行 SELECT *。试试这个:

SELECT *  
FROM orders co
LEFT JOIN prod_orders AS pc
ON co.id_order = pc.id_order
LEFT JOIN clients AS cl
ON co.id_client = cl.id_client
LEFT JOIN clients_address AS ca
ON co.id_client = ca.id_client
LEFT JOIN clienti_firme AS cf
ON ca.id_client = cf.id_client
ORDER BY co.id_order

关于mysql - sql查询执行时间很长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21390522/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com