[英]Optimize hundreds select queries in JPA
我正在為我的應用程序使用JPA
和Facebook
登錄名。 用戶登錄服務器后,通過Facebook
ID檢查每個用戶是否在我們的數據庫中。 我創建了一個for
循環,每次執行一次select
查詢。 這種方法很慢。 有什么更好的方法可以使其更快?
該代碼是
for (User friend : friends) {
User current = userManager.find(friend.facebookId);
If (null != current) { friend.setId(current.getId);}}
您可以改為使用IN執行單個查詢。 但是,啟用緩存后,如果好友很可能位於緩存中,則按ID查詢可能是最快的方法。
Select f from Friend f where f.id in :ids
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.