gpt4 book ai didi

mysql - 使用 : join, 优化 MySQL 查询 where, group by, having

转载 作者:行者123 更新时间:2023-11-29 00:28:21 24 4
gpt4 key购买 nike

我有一个非常复杂的 mysql 查询,我试图了解是否有办法让它使用索引。查询看起来像:

SELECT t1.a, t1.b, t2.c, COUNT(t1.li), SUM(t1.tc)
FROM t1 LEFT JOIN t2
ON (t1.d=t2.d AND t1.e=t2.e)
WHERE t1.pt="XXX" GROUP BY t1.a, t1.b, t2.c
HAVING t1.li > 0 AND t1.tc > 4;

我只能使用 t1.pt 上的索引(或“WHERE”子句)对其进行优化,但无法使 GROUP BY 部分运行得更快。

当对两个表的列进行分组时,有没有办法让 GROUP BY 使用索引?

最佳答案

首先你应该为两个表的连接字段添加索引:

t1.d, t2.d, t1.e, t2.e

然后添加索引以按字段分组

t1.a, t1.b, t2.c

同样在 HAVING 部分我认为你应该写:

HAVING count(t1.li) > 0 AND sum(t1.tc) > 4;

关于mysql - 使用 : join, 优化 MySQL 查询 where, group by, having,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17851314/

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