gpt4 book ai didi

mysql - 我如何改进 20,000 条记录的交叉连接?

转载 作者:太空宇宙 更新时间:2023-11-03 12:31:26 27 4
gpt4 key购买 nike

我有两个表:users (userid,student_no,name)regd (semester,student_no)users 包含大约 7,000 条记录,regd 包含大约 20,000 条记录。有时 regd 中的某些条目不在 users 中。

我如何快速选择 users 中的所有条目,这些条目在 regd 中具有学期 = '2012-2' 的条目?我试过这个:

 SELECT * FROM  `regd` , users WHERE
semester = '2012-2' AND users.student_no = regd.student_no

但如果我的数据库很小,加载查询将花费很长时间。每六个月,大约有 10,000 个条目被添加到 regd,每年大约有 2,500 个条目被添加到 users

最佳答案

在连接列上添加索引:

CREATE INDEX idx_regd_student_no ON regd(student_no);

CREATE INDEX idx_users_student_no ON users(student_no);

此外,如果您的表没有 PK,请添加一个。对于regd,可以使用PK = (semester, student_no)

正如其他评论所说,22k 条记录并不大,所以我只能假设您没有任何像样的索引。

希望这对您有所帮助。

关于mysql - 我如何改进 20,000 条记录的交叉连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15162427/

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