查出一張表的數據要往4張表裏插入,而四張表得依次插入不能單獨循環插入,導致4張表每條數據都得獲取一次JDBC連接,然後再關閉,15w數據運行時間爲6h
兩部優化:
1.查出需要插入的數據的所有id,再以partition方法切片成多個List,再以list的第一個數與最後一個數查詢兩id之間的數據,而不是一次性全查出來,影響java處理性能
2.因爲4張表都是同一個庫,把獲取連接單獨抽取出來作爲一個全局變量,關閉連接也單獨寫一個方法,在for循環之前就獲取連接,for循環結束才關閉連接,親測15w數據運行時間爲22分鐘,省了5個多小時