嗨我試圖從MYSQL數據庫中的表中的一個表中獲取50K +行。花費20多分鐘才能檢索所有數據並將其寫入文本文件。我可以使用多線程來縮短這個獲取時間並使代碼更有效率。任何幫助將不勝感激。如何使用多線程來獲取mysql中的數據
我已經使用普通的JDBC連接和ResultSetMetaData從表中提取行。
String row = "";
stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from employee_details");
ResultSetMetaData rsmd = rs.getMetaData();
int columnCount = rsmd.getColumnCount();
while (rs.next()) {
for (int i = 1; i < columnCount; i++) {
row = row + rs.getObject(i) + "|";// check
}
row = row + "\r\n";
}
而我正在寫文本文件中提取的值如下。
BufferedWriter writer = new BufferedWriter(new FileWriter(
"C:/Users/430398/Desktop/file/abcd.txt"));
writer.write(row);
writer.close();
我不認爲多線程會加速這一切。想想瓶頸在哪裏 - 瓶頸是否會影響到這一點? –
但嘗試它並觀察會發生什麼沒有什麼壞處 - 你在實驗中發現了什麼? –
我已經嘗試使用簡單的JDBC連接和resultmetadata來獲取值。這需要20分鐘。我不確定多線程是否可以在這裏工作 –