gpt4 book ai didi

MySQL JOIN 与 GROUP BY 需要很长时间才能运行

转载 作者:行者123 更新时间:2023-11-29 21:32:30 25 4
gpt4 key购买 nike

我的数据库中有两个表,如下:

CREATE TABLE `users` (
`id` varchar(10) DEFAULT NULL,
`gender` varchar(9) DEFAULT NULL,
`age` varchar(5) DEFAULT NULL
KEY `id` (`id`)
)

CREATE TABLE `sessions` (
`user_id` varchar(10) DEFAULT NULL,
`time` int(11) DEFAULT NULL,
KEY `user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

users 表大约有 200,000 行,sessions 表大约有 10m 行。我正在尝试做一个简单的 JOIN,如下所示:

SELECT users.id, SUM(sessions.time) AS TotalTime,
FROM users
LEFT OUTER JOIN sessions
ON users.id = sessions.user_id
GROUP BY users.id
LIMIT 1;

当我运行此查询时,即使 LIMIT 设置为 1,它也会无休止地运行而没有结果。如果我省略 GROUP BY 子句,它会立即运行。我在这里可能遗漏了什么,或者只是 session 表太大而无法有效工作?

预先感谢您的帮助!

最佳答案

您应该首先向表添加索引和主键。建议将 users 表中的 id 作为主键,在 session 表上添加一个 id 列作为主键。您还可以在 session 表的 userid 列上添加索引。

关于MySQL JOIN 与 GROUP BY 需要很长时间才能运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35148596/

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