gpt4 book ai didi

mysql - 学校数据库标准化会带来更好的性能吗

转载 作者:行者123 更新时间:2023-11-29 10:36:33 24 4
gpt4 key购买 nike

我有旧服务器和巨大的 MySQL 学生成绩数据库所有学生只有一张公用表:

student_id | teacher_id | mark | comment

这个项目有六所学校,约 800 名学生,每天我们有约 5000 分

学生的表现存在问题 - 每次查询成绩都需要大约两分钟才能得到结果顺便说一句,我使用表索引

我有一个问题 - 如果我使用标准化并为每个学生制作单独的表格,如下所示:

STUDENTS_TABLE

student_id | table
ivanov | ivanov_table

IVANOV_TABLE

teacher_id | mark | comment

它会帮助我取得更好的表现吗?

我没有机会购买新服务器。

添加:当我使用mysql> SELECT * FROM all_students_table where student_id=001时这需要很长时间。我认为这是因为所有学生的信息都在一张巨大的表格中。我想如果为每个学生创建单独的表 - 像这样的查询将花费更少的时间:mysql> SELECT * FROM student_001_table 。我说得对吗?

添加:这张 table 已经用了三年了 mysql> SELECT COUNT(*) FROM students_marks

给出结果 2 453 389 行,它每天都在增长

最佳答案

由于像 SELECT * FROM all_students_table where Student_id=001 这样的简单查询花费的时间太长,因此唯一合理的结论是该表没有正确的索引。像这样的查询需要student_id上建立索引。当该索引存在时,查询对于 250 万行的性能应该几乎与对于 1,000 行的性能一样好(假设每个 student_id 在表中出现的频率相似)

关于mysql - 学校数据库标准化会带来更好的性能吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46308026/

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