我有3個班級:學院:id, name, ....學生:id, name, college, ....標記:id, subject, student我有大學對象和學生名單。我可以通過兩種方式查詢學生的分數(shù):JPA 屬性表達式:List<Marks> findByStudentCollege(College college).在查詢中使用List<Marks> findByStudentIn(Set<Student> studentList)我需要幫助才能從性能角度了解哪個查詢更適合使用。
3 回答

縹緲止盈
TA貢獻2041條經(jīng)驗 獲得超4個贊
您正在執(zhí)行兩個不同的查詢:
findByStudentCollege(College College) :這個將用于在“college”中的每個元素“student”中查找學院的標記。您沒有在標記和大學之間建立聯(lián)系,因此您可能會執(zhí)行類似“從學生標記中選擇 * 的查詢 =(從學生中選擇 id,其中大學 =(從大學中選擇))
findByStudentIn(Set studentList) : 這將用于查找列表中的分數(shù)(0 個或多個“學生”元素,因此您需要先列出學生,或者使用它來查找焦點中的一個學生的分數(shù)。
如果您沒有完整的學生名單,第二個可能是最好的選擇。如果您有大學的所有學生,請使用第一個,因為您避免了第一個學生列表。
無論如何,您不會看到這些查詢之間的差異,即使您正在處理 5k+ 行
添加回答
舉報
0/150
提交
取消