1. 程式人生 > >關於excel導入數據到數據庫的總結

關於excel導入數據到數據庫的總結

對比 pos span 批量插入 獲取數據 數據 時間 建立 需求

1. 提前規範好excel的格式,方便獲取excel的數據

2. 盡可能的避免循環嵌套

3. 如果存在需求要從數據庫獲取數據回來跟excel中的數據進行對比,應盡可能以此就獲取回來然後在進行對比,而不是循環獲取來對比,建立數據庫鏈接是一個很耗時間的操作。

4. 數據插入數據庫使用一次批量插入的方法,不能使用一條條循環插入的方法,因為建立數據庫鏈接是一個很耗時間的操作

5. 如果數據量很大,假如有3000條,這個時候就應該將3000條切開成幾個數組循環批量插入,比如切成10個數組,每個數組300條,犧牲一點時間減輕服務器的壓力。

6. 使用事務時候需要註意,批量插入可能會使事務失效(假如你插入300條一次,到了第200條失敗了,這個時候你的事務可能沒辦法將已經插入的回滾,laravel框架查詢構建器的insert方法就存在這種問題,不確定其它框架是否存在這個問題),這個問題可以在每一次批量插入的數據中加一個唯一的批次號,然後在整個插入的過程中如果存在失敗,則將剛才生成的批次號(可能有多個了)傳到數據庫執行delete操作,即可實現手動事務回滾。

關於excel導入數據到數據庫的總結