我有一張桌子看起來像這樣;休眠查詢perfomance
@Table
public class Person {
private String name;
private String address;
...
private String score;
}
在我的數據庫中,我現在有很多名字,地址和分數的人。比方說,我從另一個系統中檢索人員列表,其中一些人已經存在於數據庫中,另一些人是新的。
在我將它們保存在我的數據庫中之前,我想檢查它們是否已經存在(避免重複),並且可能會改變分數,如果我進入的人與我已有的人相同,但分數不同。
如果我想選擇所有存在的人,最好的查詢是什麼? (例如,相同的名稱和地址)。我的人員表可以包含大量人員,而我從其他系統獲得的人員名單也很大(新的或更新的分數)。我需要一個關於性能的查詢:-)。
我正在使用Java和Hibernate。任何人?
編輯:最後的SQL可能看起來像
select * from Person where name='Paul' AND address='road1
OR name='John' AND address='road2'
OR name='Stella' AND address='road3'
和許多許多..上面的SQL ATLEAST解釋了我想要的東西。
謝謝您的回覆!也許我的問題還不夠清楚。這不是兩張桌子,只有一張。基本上我得到一個「名單人」。我只想比較我獲得的列表中的人員和我的數據庫中的人員。 –
KimAMartinsen
2012-02-22 08:45:56
我以爲你想實現從其他系統獲取新用戶的邏輯 – Beatles1692 2012-02-22 09:54:50