gpt4 book ai didi

mysql - 子查询比连接运行得更快?

转载 作者:太空宇宙 更新时间:2023-11-03 11:12:03 25 4
gpt4 key购买 nike

我正在尝试从同一个表的另一列中确实存在的一列中识别值

子查询

SELECT DISTINCT `Wear it With - Outfits 1` 
FROM `product list`
WHERE `Wear it With - Outfits 1` NOT IN (SELECT `sku`
FROM `product list`)

...在 2.7287 秒内返回结果

我尝试用左连接替换子查询

   SELECT DISTINCT table1.`Wear it With - Outfits 1`
FROM `product list` as table1
LEFT JOIN `product list` as table2 ON table1.`Wear it With - Outfits 1`=table2.sku
WHERE table2.sku IS NULL
AND table1.`Wear it With - Outfits 1` IS NOT NULL

...在 5.7651 秒内返回结果

通常加入返回结果要快得多。所以我相信我在查询中做了一些有趣的事情?但是找不到任何原因为什么我的子查询运行得比

最佳答案

声明“通常联接返回结果的速度要快得多。”很愚蠢,尤其是在没有引用任何特定数据库系统的情况下。

许多因素会影响特定查询的性能。您可以在您使用的任何数据库产品中使用 EXPLAIN 工具来确定为什么在这种情况下子查询更可取(提示:它可能与关键字 DISTINCT 的使用有关)。

关于mysql - 子查询比连接运行得更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7830725/

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