gpt4 book ai didi

mysql - LEFT JOIN 的结果较慢

转载 作者:行者123 更新时间:2023-11-30 00:15:01 24 4
gpt4 key购买 nike

我有一个简单的 SQL 查询,如果我限制超过 10 个,则结果的时间超过 15 秒。我的问题是,为什么这么慢?这是我的要求:

SELECT E.ID_Pays
FROM tbl_Usager A
LEFT JOIN tbl_Ville B ON A.ID_Ville = B.ID_Ville
LEFT JOIN tbl_Departement C ON B.ID_Departement = C.ID_Departement
LEFT JOIN tbl_Pays E ON C.ID_Pays = E.ID_Pays
WHERE E.ID_Pays='1'
LIMIT 8

最佳答案

首先,左联接对于您的查询来说是不必要的。 where 子句将它们转换为内连接

其次,最后的连接是不必要的,因为您可以从 departement 表中获取值。

SELECT d.ID_Pays
FROM tbl_Usager u JOIN
tbl_Ville v
ON u.ID_Ville = v.ID_Ville JOIN
tbl_Departement d
ON v.ID_Departement = d.ID_Departement
WHERE d.ID_Pays = '1'
LIMIT 8;

这会有帮助。接下来,我假设所有 ID_* 变量都是各自表中的主键。最后,在 id_pays 上创建索引:

create index idx_department_2 on tbl_department(id_pays, id_departement);

这些应该有助于查询。

关于mysql - LEFT JOIN 的结果较慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23727016/

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