gpt4 book ai didi

Mysql 子查询在实时服务器上运行缓慢,但在本地运行速度很快

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

我有一个非常简单的查询,在我的本地 Windows 计算机上需要 0.04 秒,但在我们的实时服务器(Linux 计算机)上需要 30 秒!

有人遇到同样的问题吗?

这是查询:

SELECT DISTINCT
s.carId FROM
cardetail_search s WHERE
s.carId IN (SELECT DISTINCT c.carId FROM carid id JOIN car c ON c.carId = id.carId WHERE id.ProductNumber = 'pnumber' OR id.ProductNumber = 'pnumber2')
AND pictureTableId IN (SELECT DISTINCT pictureTableId FROM cardetail WHERE ProductNumber = 'pnumber' OR ProductNumber = 'pnumber2')

编辑:任何子查询运行缓慢

解决方案:当我使用 INNER JOIN 时,它按预期工作,而不是使用 COLUMN IN() 的子查询。检查重构查询的批准答案。

最佳答案

根据评论,我认为数据库上的“统计数据”是不同的。您可以尝试一下,看看是否可以获得更好的性能(数据库引擎在使用 INNER JOIN 与 COLUMN IN (...) 时可以准备不同的计划:

SELECT DISTINCT
s.carId
FROM cardetail_search s
INNER JOIN (SELECT DISTINCT c.carId FROM carid id
INNER JOIN car c ON c.carId = id.carId
WHERE id.ProductNumber = 'pnumber' OR id.ProductNumber = 'pnumber2') X ON s.carID = X.carID
INNER JOIN (SELECT DISTINCT pictureTableId FROM cardetail WHERE ProductNumber = 'pnumber' OR ProductNumber = 'pnumber2') Y ON s.pictureTableId = Y.pictureTableId

关于Mysql 子查询在实时服务器上运行缓慢,但在本地运行速度很快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45876996/

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