Oracle 外部表的相关操作

数据库中有一个外部表(EXT),包含了很多个列,需要将其中的一部分列的内容插入到一个内部表(TABLE)中,外部表数据总共有2万多条,列数200多条,需要提取的列数为20多条,

创建一个存储过程,核心的SQL语句是:insert into TABLE_NAME (需要的列名) select (需要的列名)from EXT_NAME

结果一执行就是100+分钟,速度太慢。

而后采用新的办法,创建一个表结构和外部表一模一样的内部表(TABLE_TMP),然后先将外部表(EXT)的数据插入TABLE_TMP中,

创建关键列的索引:create index index_name from TABLE_TMP(关键列名);

再insert into;执行速度好像是几十秒吧,第一次发现速度可以差这么多!

有用的SQL语句、关键字记录:

truncate table TABLE_NAME:清空表中数据,不产生日志(?),速度快!

nologging,不产生日志的关键字,不过使用条件貌似有点多。



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值