有一個包含大約300-400條記錄的數據庫。我可以做一個簡單的查詢來獲取30條記錄,如:從PostgreSql一個接一個地提取記錄DB
SELECT * FROM table
WHERE isValidated = false
LIMIT 30
關於數據庫表的內容的更多詞語。有一個名爲isValidated的列,可以(正如您正確猜測的)取兩個值中的一個:true或false。查詢後,應該使某些記錄有效(isValidated = true)。從30組的記錄是約5-6記錄。相應地,在每個查詢之後,我將從先前的查詢中獲取記錄(isValidated = false)。事實上,我永遠不會以這種方式走到桌子的盡頭。
驗證過程使用Java + Hibernate進行。我是Hibernate的新手,所以我使用Criterion來做這個簡單的查詢。
這樣的任務是否有最佳做法?添加標誌字段(標記已被讀取的記錄)的變體是不恰當的(爲此數據庫設計過度)。 也許有機會創建一些虛擬表,其中已經處理的記錄將被存儲或類似的東西。順便說一句,在處理所有記錄後,計劃再次開始處理它們(可能有些需要驗證)。
非常感謝您的幫助。
這是一種散文寫作,請寫出點和可以理解。 –
我沒有看到問題,得到所有(記住沒有數百萬)記錄 - 更新需要更新的thoose。如果需要,沖洗 - 重複。我錯過了什麼? – esej
Bhavik Ambani: 關鍵點:如何獲取特定數量的記錄而不重複已處理的記錄。 esej: 過了一段時間,可能會有成千上萬的這樣的記錄,並且將它們全部解決將是一個問題。 – Dragon