gpt4 book ai didi

mysql - 这里要加哪个索引?

转载 作者:行者123 更新时间:2023-11-29 02:14:06 25 4
gpt4 key购买 nike

这个查询以慢查询日志结束,因为没有索引连接。我应该在什么地方添加哪个索引?这个简单的查询需要 500 毫秒到 1.2 秒的时间。我想它应该可以在 100 毫秒内轻松完成。

SELECT users.*, user_roles.apirequests, user_roles.downloadrequests, NOW() AS now
FROM users
INNER JOIN user_roles ON user_roles.id = users.role
WHERE users.rsstoken =
'775e155c780ed5af9119f797f814c714' LIMIT 1;

查看查询并显示创建表:https://kopy.io/iCz1z

最佳答案

对于这个查询:

SELECT u.*, ur.apirequests, ur.downloadrequests, NOW() AS now
FROM users u INNER JOIN
user_roles ur
ON ur.id = u.role
WHERE u.rsstoken = '775e155c780ed5af9119f797f814c714';

最好的索引是 users(rsstoken, role)user_roles(id)。您已经有了第二个索引,因为 id 被声明为主键。

您还可以在 user_roles 的索引中包含 apirequestsdownloadrequests:user_roles(id, apirequests, downloadrequests)。这可能是一个非常小的优化——我通常会反对它,因为 id 已经是主键并且行大小很小。

关于mysql - 这里要加哪个索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43410921/

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