导入导出1000万条数据

如何导入导出大数据量(1000万条)的表(如t_employee)+++++++++++++++++++++++
步骤:
1、从数据库1中导出数据
2、使用delete删除数据2中相同表的所有数据。
3、导入。
思考:以上步骤对吗?
分析:错误有2。
1、不应该使用delete删除大量数据。
2、在数据导入时,数据库系统将会同时维护索引。所以效率会很低。
正确的做法是:
1、从数据库1中导出
2、删除数据库2中对应表中的所有索引对象
3、使用truncate命令清除该表的所有数据
4、导入(此时数据库不会再维护索引,效率最高)
5、重建相关索引(使用脚本)
注意:此项操作带有一定的技巧,可作为工作经验在面试时使用。

 

 

1、清空数据库的表:

delete 删除的话,要写日志和维护索引,删除工作量大,而且数据所占空间并未释放!(高手可以日志恢复)

truncate 直接从磁盘上清除数据,不写日志,不维护索引,所以快!

步骤:删除索引,避免索引维护;truncate避免日志(禁止触发器)

 

2、导入数据

最快  oracle derict path

一般用imp导入,导入以后要重建索引(没有索引,导入时,不需要维护索引,效率很高)。

 


演示:Oracle常见数据导入导出
两种格式:二进制格式(在系统上线后常用)
         脚本格式(开发中常用)

1、利用Oracle的exp和imp导出数据
  导出:exp 用户名/密码@[连接名] file=xxx
  导入:imp 用户名/密码@[连接名] file=xxx

2、利用PL/SQL导出
   导出:先导出所有对象的创建脚本1
        再导出所有表格数据脚本2
   导入:在命令窗口中先执行脚本1,再执行脚本2

说明:在导入以后,通常都有些对象(如触发器)都需要重新编译(可用代码编译,也可以手工编译)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值