我有3个班级:学院:id, name, ....学生:id, name, college, ....标记:id, subject, student我有大学对象和学生名单。我可以通过两种方式查询学生的分数:JPA 属性表达式:List<Marks> findByStudentCollege(College college).在查询中使用List<Marks> findByStudentIn(Set<Student> studentList)我需要帮助才能从性能角度了解哪个查询更适合使用。
3 回答
缥缈止盈
TA贡献2041条经验 获得超4个赞
您正在执行两个不同的查询:
findByStudentCollege(College College) :这个将用于在“college”中的每个元素“student”中查找学院的标记。您没有在标记和大学之间建立联系,因此您可能会执行类似“从学生标记中选择 * 的查询 =(从学生中选择 id,其中大学 =(从大学中选择))
findByStudentIn(Set studentList) : 这将用于查找列表中的分数(0 个或多个“学生”元素,因此您需要先列出学生,或者使用它来查找焦点中的一个学生的分数。
如果您没有完整的学生名单,第二个可能是最好的选择。如果您有大学的所有学生,请使用第一个,因为您避免了第一个学生列表。
无论如何,您不会看到这些查询之间的差异,即使您正在处理 5k+ 行
添加回答
举报
0/150
提交
取消