Oracle批量插入資料insert all into用法
專案需要用到匯入excel
表,並解析資料批量插入到oracle
資料庫中。
1)直接解析excel
,迴圈行,拼了sql
,executeUpdate
。
執行一波…
咦,這效率很低啊,有多少行資料就執行了多少句sql
,基本是一萬行已經接近一分鐘了。
2)每次都僅執行一條sql
語句,時間是不是都花在建立連線放開連線balabala
的過程上了,用executebatch
批量執行sql
語句試試。
沒有任何明顯的改善。
3)那改成一條insert語句效果怎麼樣呢?
這回效果看起來很明顯了,問題看起來要解決了,確實,按這樣改到程式裡,執行上傳excel
,解析插入一萬行資料到資料庫,總共也就差不多一秒鐘,能接受了。
4)但是我還想相容Oracle
,剛才是拿MySql
做的實驗,Oracle
竟然不能這麼寫:
insert into testimport(username,password,address,telphone,email)
values
('testname','jfksdfkdsfjksadljfkdsfjsdlafjdaslkfjasfd','山東省濟南市歷城區港興一路','19876767856','fdsfdsfads@163.com'),
('testname','jfksdfkdsfjksadljfkdsfjsdlafjdaslkfjasfd','山東省濟南市歷城區港興一路','19876767856','fdsfdsfads@164.com'),
('testname','jfksdfkdsfjksadljfkdsfjsdlafjdaslkfjasfd','山東省濟南市歷城區港興一路','19876767856','fdsfdsfads@165.com')
那我們在Oracle
中,怎麼通過一個insert
語句批量插入資料呢?
INSERT ALL
INTO A(field_1,field_2) VALUES (value_1,value_2)
INTO A(field_1,field_2) VALUES (value_3,value_4)
INTO A(field_1,field_2) VALUES (value_5,value_6)
SELECT 1 FROM DUAL;
相關文章
- Oracle insert all一次插入多個表中Oracle
- Oracle中的insert/insert all/insert firstOracle
- oracle-資料庫- insert 插入語句Oracle資料庫
- insert批量插入優化方案優化
- insert all和insert first語句的用法
- mybatis插入資料、批量插入資料MyBatis
- 使用MySqlBulkLoader批量插入資料MySql
- 使用 【Ado.Net】 批量插入資料
- MySQL:JDBC批量插入資料的效率MySqlJDBC
- MyBatis Plus 批量資料插入功能,yyds!MyBatis
- Java通過Mybatis實現批量插入資料到Oracle中JavaMyBatisOracle
- oracle批量新增更新資料Oracle
- Laravel 批量插入(如果資料存在刪除原資料)Laravel
- Oracle insert大量資料經驗之談Oracle
- MyBatis中批量插入資料,多重forEach迴圈MyBatis
- 使用Mybatis批量插入大量資料的實踐MyBatis
- PostgreSQL 原始碼解讀(4)- 插入資料#3(heap_insert)SQL原始碼
- JDBC 批量插入資料優化, 使用 addBatch 和 executeBatchJDBC優化BAT
- mybatis怎麼實現insert into多個資料-oracle資料庫MyBatisOracle資料庫
- [Django高階之批量插入資料、分頁器元件]Django元件
- 使用JDBC時,加速批量insertJDBC
- SQL INSERT批次插入方式SQL
- Kettle:Oracle多表格批量同步資料=》mysqlOracleMySql
- mysql insert的特殊用法MySql
- 演算法與資料結構系列 ( 四 ) - 插入排序法- Insert Sort演算法資料結構排序
- ORACLE資料庫中如何插入生僻字Oracle資料庫
- mybatis oracle資料庫批次插入資料,忽略主鍵重複MyBatisOracle資料庫
- ORACLE批量刪除無主鍵重複資料Oracle
- mybatis 批量新增insert、更新update詳解MyBatis
- [LeetCode] 57. Insert Interval 插入區間LeetCode
- 還用foreach在MyBatis批量插入資料,伺服器還沒崩?MyBatis伺服器
- 演算法與資料結構系列 ( 五 ) - 插入排序法改進- Insert Sort演算法資料結構排序
- lightdb -- merge into insert 相容 OracleOracle
- Oracle-insert into加日期Oracle
- mysql中last_insert_id()用法MySqlAST
- SAP ABAP FOR ALL ENTRIES 的用法
- mysql根據查詢結果批量更新多條資料(插入或更新)MySql
- mysql總結:索引,儲存引擎,大批量資料插入,事務,鎖MySql索引儲存引擎