gpt4 book ai didi

mysql - 优化了 3 个表的连接查询

转载 作者:行者123 更新时间:2023-11-28 23:36:02 25 4
gpt4 key购买 nike

我有3张 table

user1[user1_id,name], 

user2[user2_id, user1_id],

user3[user3_id,user1_id]

我的第一个查询是

select a.user1_id, b.user2_id, c.user3_id from user1 a   
left join user2 b on b.user1_id = a.user1_id
left join user3 c on c.user1_id = a.user1_id

my second query is

select a.user1_id, b.user1_id from user2 a
left join user3 b on b.user1_id = a.user1_id

我使用了所有查询。

我的问题是如何优化查询或优化查询时间,因为当我使用这两个查询时,查询时间为 15.767 秒,返回值为 18592。有人可以纠正我的查询还是表设计。

最佳答案

基本上你应该

a) 在列上添加索引

CREATE INDEX IDX_USER1_USERID ON USER1(USER_ID); 
CREATE INDEX IDX_USER2_USERID ON USER2(USER_ID);
CREATE INDEX IDX_USER3_USERID ON USER3(USER_ID);

这将大大减少查询时间

b) 减少结果集,也就是传输数据量

用户 ID 始终相同。不要选择三次,将传输数据减少到1/3。

关于mysql - 优化了 3 个表的连接查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35716460/

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