gpt4 book ai didi

mysql - Negative INNER JOIN [没有 LEFT JOIN 且 IS NULL]

转载 作者:行者123 更新时间:2023-11-29 02:03:09 30 4
gpt4 key购买 nike

我有 2 个带有第 t 个哈希值的表,我需要获取其中哪些存在于第一个表中但不存在于第二个表中。我会尝试这样的事情:

SELECT f.*
FROM files as f
LEFT JOIN trans as t ON t.tth=f.tth
WHERE t.id IS NULL

但它的工作速度非常慢,第一个表有 65k 行,第二个表有 130k 行,所以查询工作大约 5 分钟。这里存在另一种方式?谢谢。

附言两个表中的所有列都有索引。

最佳答案

谢谢,OMG Ponies ,我在链接上阅读了一篇文章,并使用 NOT IN 进行了一些优化,查询速度约为 0.6 秒。

    SELECT f.*
FROM files as f
WHERE
f.tth NOT IN (
SELECT trans.tth
FROM trans as t
-- We do not need to look entries across entire table, only from already matched, so create selection "limits" with INNER JOIN.
INNER JOIN files ON files.tth=t.tth
)

关于mysql - Negative INNER JOIN [没有 LEFT JOIN 且 IS NULL],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11389041/

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