Oracle数据加载速度的优化方法

发布时间:2021-08-20 19:56:28 作者:chen
来源:亿速云 阅读:265

这篇文章主要介绍“Oracle数据加载速度的优化方法”,在日常操作中,相信很多人在Oracle数据加载速度的优化方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Oracle数据加载速度的优化方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

【说明】本文档介绍如何将大量的数据加载到一张表中,并需要尽可能地插入新数据;

【解决方法】


【实验测试】
1、创建测试表
SQL> create table T01  as select * from all_users where 1=0;

2、查看表的状态
SQL> select table_name, logging  from user_tables    where table_name = 'T01';

TABLE_NAME       LOG
-------------   ---------------- 
T01          YES

3、修改表为NOLOGGING
alter table T01 nologging;

4、创建表TT并插入大量的数据,用于等下对比用;
SQL> create table TT as select * from all_users ;
SQL> INSERT INTO TT SELECT * FROM TT;  (反复执行)
SQL> SELECT COUNT(1) FROM TT;  
  COUNT(1)
----------
   1245184

5、创建对比表T02,没有进行任何优化操作;
SQL> create table T02 as select * from all_users where 1=0;

6、进行数据的插入测试


采用直接路径操作与NOLOGGING的方法:
消耗的时间时6.15s

SQL> timing start kk 
SQL> insert /*+ APPEND */ into t01 select * from TT; 
1245184 rows created.
SQL>  timing show;
Elapsed: 00:00:06.15

常规的方法,显示需要的时间为:15.39
SQL> timing start kk  ;
SQL> insert /*+ APPEND */ into t02 select * from TT;
1245184 rows created.
SQL> timing show;
  timing for: kk
Elapsed: 00:00:15.39

总结:经过测试通过直接路径插入和nologging的方式确实可以明显的提升数据的加载速度;

1、因为通过nologging可以产生最少量的重做;

2、避开了缓冲区缓存,直接将数据加载到数据文件中,提高了加载的效率。


但是同时这种方法也存在着以下的问题,毕竟不能什么好事都占完吧。不然oracle早就设置成默认的配置了;

【总结】以上这种数据的加载方式并不适用于生产过程中的重要业务数据,比较适合一些类似报表类或中间库的数据抽取或比对数据的抽取;

到此,关于“Oracle数据加载速度的优化方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

推荐阅读:
  1. 怎么去优化网站的打开速度?
  2. oracle中数据加载报错

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

oracle

上一篇:java中的This关键字和单例模式是什么

下一篇:Linux下MySQL主从复制的配置

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》