gpt4 book ai didi

带有 OR 子句的 MySql JOIN 查询非常慢

转载 作者:行者123 更新时间:2023-11-29 01:40:32 26 4
gpt4 key购买 nike

我有以下查询:

SELECT a.id, b.from, b.to FROM a INNER JOIN b ON a.id = b.from OR a.id = b.to;

这非常慢。

如果我删除 OR 子句并分别运行每个查询,则两个查询的执行时间都在 1 秒内。

SELECT a.id, b.from, b.to FROM a INNER JOIN b ON a.id = b.from;
SELECT a.id, b.from, b.to FROM a INNER JOIN b ON a.id = b.to;

如何加快原始查询(设置索引)或重新设计查询本身?

最佳答案

使用 union 怎么样?

SELECT a.id, b.from, b.to FROM a INNER JOIN b ON a.id=b.from
UNION
SELECT a.id, b.from, b.to FROM a INNER JOIN b ON a.id=b.to

关于带有 OR 子句的 MySql JOIN 查询非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24997692/

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