如何一次高效的插入200MB(50万条)的insert语句

那天老大给了我一个100M的一个txt文档,我点开后发现都是Insert语句,当时就懵了这插入不得卡死啊,况且服务器都是远程的。

之后我直接就把pl/sql等一些可视化操作界面都抛一边了,原因:可视化界面在执行SQL时候会自己先编译一遍,之后才会插入数据缓存中,这样算下来得走四五个流程。这么多的数据直接造成卡死。

我查看了一下这张数据表,外键好多啊,主键还有各种触发器,妈呀,这是要我命啊,这得插到猴年马月去啊。这下我先备份了一下表结构表关系等,之后我把它门之间的关系都给删除,就剩下一张干净的表了。

这下差不多了,好了,启动 sqlplus连接上远程数据库  @表,sql   不对,等等好像是个txt文档啊,还有中文字符串,哎会乱码啊

之后我查了数据库的语言格式,然后将本地的语言格式也设置成与数据库一致(如何设置自行上网百度),然后把txt文档另存为sql文件并且调整了编码格式

这下可以插入了吧,不对我记得好像是insert后需要进行commit提交,那这样数据不是先存到缓存中了吗?哎,不行得写个脚本让文件每1000条insert添加一个commit; 

nice这下准备工作完成,@C:/520.sql 

坐等1小时......

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值