oracle create table parallel,[Oracle] Create table as 速度测试nologging+parallel

本文通过实验对比了在Oracle中使用`CREATE TABLE AS SELECT`命令时,结合`NLOGGING`和`PARALLEL`选项对数据复制速度的影响。将近9GB的数据表,在应用`NLOGGING`和`PARALLEL 2`的情况下,创建时间从7小时46分钟缩短至不到1分钟。同时提到,对于CPU核数不足的设备,`SELECT`语句中额外添加`PARALLEL`可能效果不明显,建议在服务器环境下进一步测试。最后提醒,操作完成后需及时恢复表的默认属性设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SQL> show user

USER 为 "BRUCE"

SQL> select count(*) from bruce;

COUNT(*)

----------

83324928

SQL> select segment_name,bytes/1024/1024/1024 from user_segments;

SEGMENT_NAME         BYTES/1024/1024/1024

-------------------- --------------------

BRUCE                               8.875

SQL> create table bruce1 as select * from bruce;

表已创建。

已用时间:  00: 07: 46.42

SQL> select segment_name,bytes/1024/1024/1024 from user_segments;

SEGMENT_NAME         BYTES/1024/1024/1024

-------------------- --------------------

BRUCE                               8.875

BRUCE1                             8.9375

SQL> create table bruce2 nologging as select * from bruce;

表已创建。

已用时间:  00: 02: 31.71

SQL> select segment_name,bytes/1024/1024/1024 from user_segments;

SEGMENT_NAME         BYTES/1024/1024/1024

-------------------- --------------------

BRUCE                               8.875

BRUCE1                             8.9375

BRUCE2                         8.88769531

SQL> create table bruce3 tablespace bruce nologging parallel 2

2  as

3  select * from bruce;

表已创建。

已用时间:  00: 00: 59.93

SQL> select segment_name,bytes/1024/1024/1024 from user_segments;

SEGMENT_NAME         BYTES/1024/1024/1024

-------------------- --------------------

BRUCE                               8.875

BRUCE1                             8.9375

BRUCE2                         8.88769531

BRUCE3                         8.88317871

SQL> create table bruce4 tablespace bruce nologging parallel 2

2  as

3  select /*+parallel(a 2)*/ * from bruce a;

表已创建。

已用时间:  00: 00: 59.32

SQL> select segment_name,bytes/1024/1024/1024 from user_segments;

SEGMENT_NAME         BYTES/1024/1024/1024

-------------------- --------------------

BRUCE                               8.875

BRUCE1                             8.9375

BRUCE2                         8.88769531

BRUCE3                         8.88317871

BRUCE4                         8.88317871

--------------------------------

普通insert           |   07: 46.42

nologging            |   02: 31.71

nologging + parallel |   00: 59.93

nologging + parallel(包括select)  |   00: 59.32

(1)对于将近9G的table,create table使用 nologging + parallel速度会有很大的提升,并且没有log产生(很少).

(2)在select中也加上parallel好像作用不大,可能是电脑的cpu核数不够,有机会找台server测试一下.

(3)执行完成之后,切记将 table的logging和degree属性改回来

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24237320/viewspace-2126898/,如需转载,请注明出处,否则将追究法律责任。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值