這裏是我的要求:的Java調度Vs的SQL調度
日期插入到每個記錄一個數據庫表。在該顆粒日期之前的兩週 ,應另外記錄一個 不同的表格。
我最初的解決辦法是把一個SQL計劃的工作,但我的客戶堅持它正在通過Java處理。
- ,這是什麼最好的方法?
- 使用SQL調度作業和Java調度執行此任務有哪些優缺點?
這裏是我的要求:的Java調度Vs的SQL調度
日期插入到每個記錄一個數據庫表。在該顆粒日期之前的兩週 ,應另外記錄一個 不同的表格。
我最初的解決辦法是把一個SQL計劃的工作,但我的客戶堅持它正在通過Java處理。
問自己一個問題:什麼域名不這件作品屬於?如果它是數據完整性所必需的,那顯然是數據庫管理系統的問題,可能最好在那裏處理。如果它是業務領域的一部分而不是數據,或者可能需要信息或處理,這些信息或處理對於DBMS來說是不可用的或自然的,那麼最好的做法可能是外部的。
我會說,使用這項工作的最佳工具。數據庫使用它提供的任何功能處理的東西通常都很好。例如,在另一個表中保留記錄狀態更新的「快照」的日誌表是我通常喜歡觸發的東西,從我的應用程序的手中承擔責任。
但在這個時候,在幾乎所有的DBMS提供。其他數據庫可能不會提供您需要的作業調度能力。如果可以想象有一天你會切換到不同的數據庫管理系統,那麼你將不得不用Java來完成它。這就是Java方法的優點:您擁有獨立於數據庫的功能。如果您將純JDBC與標準SQL查詢結合使用,則您擁有完全可移植的解決方案。
這兩種方法似乎有效。考慮什麼導致最少的工作和煩惱。如果它是用Java完成的,則需要確保該進程正在運行或已計劃。這是一些外部依賴。如果它在數據庫中,只要數據庫已啓動,就可以確定該作業已完成。
謝謝安德烈。我開始認爲最好也使用Java Timer。客戶得分! – chapa