快速執行大量 insert 語句的方法
有時候,需要在資料庫中執行大量的 INSERT 語句。
如果在 SQLPLUS 或 PL SQL Developer 中呼叫指令碼而不加任何處理直接執行的話,效率會非常的低。
類似下面的方法執行
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
SQL> @20151211_ADD_DATA.sql
可以在作業系統後臺執行這些 SQL 語句,可以極大提升執行效率。
編寫一個簡單的 SHELL 指令碼
[oracle@DB1 work]$ vim insert_data.sh
sqlplus -silent "/nolog" << EOF
connect site/"password"
start 20151211_ADD_DATA.sql
exit
EOF
在後臺呼叫 SHELL 指令碼,原本跑很長時間的指令碼,很快就執行完畢
nohup sh insert_data.sh &
[oracle@DB1 work]$ nohup: ignoring input and appending output to `nohup.out'
[oracle@DB1 work]$
[1]+ Done nohup sh insert_data.sh
需要注意的是字符集問題,如果插入或更新的欄位中有中文,則可能會有亂碼,需要保證操作系統的字符集和語言支援中文。
如果在 SQLPLUS 或 PL SQL Developer 中呼叫指令碼而不加任何處理直接執行的話,效率會非常的低。
類似下面的方法執行
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
SQL> @20151211_ADD_DATA.sql
可以在作業系統後臺執行這些 SQL 語句,可以極大提升執行效率。
編寫一個簡單的 SHELL 指令碼
[oracle@DB1 work]$ vim insert_data.sh
sqlplus -silent "/nolog" << EOF
connect site/"password"
start 20151211_ADD_DATA.sql
exit
EOF
在後臺呼叫 SHELL 指令碼,原本跑很長時間的指令碼,很快就執行完畢
nohup sh insert_data.sh &
[oracle@DB1 work]$ nohup: ignoring input and appending output to `nohup.out'
[oracle@DB1 work]$
[1]+ Done nohup sh insert_data.sh
需要注意的是字符集問題,如果插入或更新的欄位中有中文,則可能會有亂碼,需要保證操作系統的字符集和語言支援中文。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26506993/viewspace-1870634/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 大量包含Insert語句的指令碼檔案批量執行匯入資料指令碼
- PostgreSQL的insert語句執行過程分析SQL
- 快速定位sql語句執行內容SQL
- .NET執行insert語句返回自動增長列ID的值
- SQLite Insert 語句SQLite
- 關於加快INSERT語句執行速度的測試
- PostgreSQL 原始碼解讀(15)- Insert語句(執行過程跟蹤)SQL原始碼
- MySQL全文索引原始碼剖析之Insert語句執行過程MySql索引原始碼
- 查詢正在執行的sql語句及該語句執行的時間SQL
- sql語句如何執行的SQL
- 執行大的sql語句SQL
- SQLite中特殊的INSERT語句SQLite
- mySQL 執行語句執行順序MySql
- 獲得目標SQL語句執行計劃的方法SQL
- 查詢Oracle正在執行的sql語句及執行該語句的使用者OracleSQL
- for語句執行順序
- sql語句批量執行SQL
- FORALL執行DELETE語句delete
- FORALL執行UPDATE語句
- mysql的sql語句執行流程MySql
- SQL 語句的執行順序SQL
- mysql 語句的執行順序MySql
- 【SQL】9 SQL INSERT INTO 語句SQL
- Sql Server系列:Insert語句SQLServer
- MySQL INSERT IGNORE語句的使用MySql
- YCSB擴充套件-語句執行頻率,執行指定的測試查詢語句套件
- 在oracle中跟蹤會話執行語句的幾種方法Oracle會話
- MySQL語句執行分析(一)MySql
- MySQL語句執行分析(二)MySql
- SQL語句執行順序SQL
- PHP執行批量mysql語句PHPMySql
- FORALL執行UPDATE語句(二)
- toad執行sql語句SQL
- 一條更新語句的執行流程
- Laravel 獲取執行的sql語句LaravelSQL
- 查詢執行慢的SQL語句SQL
- CoreData執行過程的sql語句SQL
- 識別低效執行的SQL語句SQL