[J2SE]資料庫新增幾萬筆資料

看板java作者 (WIKI大學生寫作業的題材)時間17年前 (2008/07/02 13:02), 編輯推噓3(303)
留言6則, 3人參與, 最新討論串1/2 (看更多)
標題雖然是J2SE 不過卻是JSP/SERVLET的應用 ( ̄□ ̄|||)a 因為如果在jsp顯示上會有timeout等等的問題 所以有些疑問 目前程式流程大概是這樣(程式碼還沒寫 大概寫一下假碼 ,SET不是java.util的Set) DO SET SQL= SQL Command; SET ResultSet = executeQuery(SQL) //從資料庫取資料 WHILE( ResultSet.next() ) //大概兩萬多筆 BEGIN SET DATA = ResultSet.getData() //從資料庫取得資料 DATA = DoSomeThing( DATA) //處理資料 Statement.Insert(DATA ) //新增到資料庫其他欄位 END END 以上這樣的程式 我估計 大概要跑個幾分鐘 之前的經驗是用批次的方式結果會好很多 就假碼WHILE結束之後才執行statment.executeBatch() 現在的疑問就是: 要是一次兩萬多筆 這些資料在executeBatch之前 都暫存在記憶體吧 這樣要是資料量很大的時候 不就可能有爆炸的問題?! 我現在的想法是 在ResulteSet的迴圈內計數 當到達特定的mod值(ex:100、1000) 就執行executeBatch()與clearBatch() 不知道這樣的想法對不對?! 還是有更好的作法?? 另外timeout的問題 我是想實作官方網站有教的JProgressBar 或者是乾脆寫成Thread 將頁面顯示跟SQL執行批次的程序分開 不知道這樣可行嗎? (只擔心有Thread-safe的問題 我JAVA很多觀念很粗淺ˋ(′_‵||)ˊ) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.59.146.161

07/02 13:12, , 1F
Thread 可行,因為我有做過這種事 XD
07/02 13:12, 1F

07/02 13:15, , 2F
想請問一下THREAD有沒有"後遺症"??!!
07/02 13:15, 2F

07/02 14:10, , 3F
如果寫的好,沒有後遺症,寫的不好,Vector 也有後遺症
07/02 14:10, 3F

07/02 15:32, , 4F
換句話說~"~有沒有什麼該注意的?
07/02 15:32, 4F

07/04 17:13, , 5F
thread如果是多人使用,會不會有資料衝突的問題?
07/04 17:13, 5F

07/05 01:11, , 6F
可以先LOCK住資料庫吧?!
07/05 01:11, 6F
文章代碼(AID): #18QmlZ5s (java)
文章代碼(AID): #18QmlZ5s (java)