gpt4 book ai didi

mysql - 在mysql表上创建索引

转载 作者:行者123 更新时间:2023-11-29 20:40:50 24 4
gpt4 key购买 nike

我必须创建一个 mysql 数据库来存储如下值:

id bigint(18) auto_increment, 
NameOfStudent char(40),
UnixTime_YearOfExam bigint(18),
percentageScored decimal(5,2),
marksSubJect1 decimal(5,2),
marksSubJect2 decimal(5,2),
marksSubJect3 decimal(5,2),

查询将是:

Select * 
from table
where NameOfStudent='xyz'
order by UnixTime_YearOfExam desc, percentageScored desc limit 3

大约有2000名学生,每个学生都有不同年份的记录。因此每个学生大约有 5-10 条记录。我的问题是:

  1. 该表上的索引应该是什么,以便上面的查询速度更快。 where 子句和排序

  2. 如何选择每个学生的最后 3 条记录(按 YearOfExam desc limit 3 排序),而不必为每个学生运行单独的查询?这样一个查询的结果将如下所示:

    student_1, yearOfExam2015, percentageScored
    student_1, yearOfExam2014, percentageScored
    student_1, yearOfExam2013, percentageScored
    student_2, yearOfExam2015, percentageScored
    student_2, yearOfExam2014, percentageScored
    student_2, yearOfExam2013, percentageScored
    and so on

最佳答案

我将使用自动递增的“marks_id”字段索引“marks”表。只要两个表中都有“student_name”或“student_id”字段,您就可以执行 INNER JOIN 以在一个查询中获取所需的所有信息。

关于mysql - 在mysql表上创建索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38647088/

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