[英]JDBC batch insert - control the insert speed
我有一個簡單的JDBC批處理插入程序。 我正在從一個數據庫表中獲取數據,並將這些記錄在處理后插入到另一個數據庫中的表中。 但是目標數據庫存在一些性能問題。 因此,目標數據庫管理員在我們的程序中請求一個選項來控制每秒插入的記錄數。
它可能不是動態的。 如果他想更改插入速度,則可以相應地更改config屬性並重新啟動應用程序。
我們的源數據庫和目標數據庫是MQ SQL數據庫。
可能嗎?
插入指定數量的記錄后,您可以使線程進入睡眠狀態。
int recordsPerSecond = 100;
int totalRecords = 1000;
long sleepTime = 900; // in milis (Assuming that 100 mili seconds lapsed in inserting 100 rows)
for(int i=1; i<=totalRecords; i++){
if(i%recordsPerSecond==0)
Thread.sleep(sleepTime);
DAO.insert();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.