我正在嘗試將數組寫入 mysql 數據庫,但這似乎使 cpu 使用率達到 100%。public void add_data(double[] data) throws SQLException { PreparedStatement c = null; String sql = "INSERT INTO lowpassdata(data) VALUES(?)"; c = this.conn.prepareStatement(sql); for(int i=0; i<data.length; i++) { c.setDouble(1, data[i]); c.executeUpdate(); } c.close(); }
1 回答

森欄
TA貢獻1810條經驗 獲得超5個贊
JDBC 調用是阻塞的(同步),因此其他線程在運行時沒有機會運行,并且您在一個緊密的循環中執行了很多操作 - 所以我希望看到高 CPU 使用率。
我認為你應該嘗試三件事:
調查 JDBC 批處理操作 -有關示例,請參閱JDBC Batch Insert OutOfMemoryError的答案。
批次之間的產量()
對于 MySQL,添加
重寫批處理語句=真
到連接字符串,以大大提高批量更新的性能。使用 rewriteBatchedStatements=true查看MySQL 和 JDBC
添加回答
舉報
0/150
提交
取消