有时候,需要在数据库中执行大量的 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
需要注意的是字符集问题,如果插入或更新的字段中有中文,则可能会有乱码,需要保证操作系统的字符集和语言支持中文。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26506993/viewspace-1870634/
,如需转载,请注明出处,否则将追究法律责任。