gpt4 book ai didi

mysql - 你将如何优化这个 MySQL 查询

转载 作者:可可西里 更新时间:2023-11-01 07:33:01 24 4
gpt4 key购买 nike

谁能帮我优化这个查询,

SELECT(X1,      
X2
FROM TABLEAA
WHERE
Y IN (SELECT Y FROM TABLEBB WHERE Z=SELECTED)
AND Y IN (SELECT Y FROM TABLECC WHERE ZZ=SELECTED)
)

在哪里

TABLEAA : 1 million enteries    
TABLEBB : 22 million enteries
TABLECC : 1.2 million enteries

它有效,但需要太多时间,将近 30 秒

有没有其他方法可以解决这个问题?

编辑:Z 和 ZZ 是完全不同的两个列

最佳答案

我会使用JOIN:

SELECT DISTINCT
A.X1,
A.X2
FROM TABLEAA A
JOIN TABLEBB B ON A.Y = B.Y AND B.Z='SELECTED'
JOIN TABLECC C ON A.Y = C.Y AND C.Z='SELECTED'

此外,请确保您在 A.Y、B.Y 和 C.Y 上具有适当的索引。您可以通过在 Z 列上添加索引来获得更好的性能——这取决于您的表结构和其他几个因素。

关于mysql - 你将如何优化这个 MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17604472/

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