如何进行CTAS和insert append的测试
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章跟大家分析一下"如何进行CTAS和insert append的测试"。内容详细易懂,对"如何进行CTAS和insert append的测试"感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希
千家信息网最后更新 2026年10月31日如何进行CTAS和insert append的测试
这篇文章跟大家分析一下"如何进行CTAS和insert append的测试"。内容详细易懂,对"如何进行CTAS和insert append的测试"感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习"如何进行CTAS和insert append的测试"的知识吧。
8174上的一个测试,非归档模式:
代码:
SQL> select * from v$version;
BANNER ---------------------------------------------------------------- Oracle8i Enterprise Edition Release 8.1.7.4.1 - Production
PL/SQL Release 8.1.7.4.0 - Production
CORE 8.1.7.2.1 Production
TNS for 32-bit Windows: Version 8.1.7.4.0 - Production
NLSRTL Version 3.4.1.0.0 - Production
SQL> archive log list 数据库日志模式 非存档模式
自动存档 启用
存档终点 D:databaseoracleora817RDBMS
最早的概要信息日志序列 1488
当前日志序列 1491
SQL> select * from redo_size;
VALUE ----------
91848
SQL> create table test nologging as select * from all_objects;
表已创建。
SQL> select * from redo_size;
VALUE ----------
147148
SQL> drop table test;
表已丢弃。
SQL> select * from redo_size;
VALUE ----------
177584
SQL> create table test as select * from all_objects;
表已创建。
SQL> select * from redo_size;
VALUE ----------
232892
SQL> select (232892 - 177584 ) redo,(147148-91848) redo_nolog from dual;
REDO REDO_NOLOG ---------- ----------
55308 55300 '
在归档模式下的情况:代码:
SQL> shutdown immediate; 数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area 65648668 bytes
Fixed Size 75804 bytes
Variable Size 44523520 bytes
Database Buffers 20971520 bytes
Redo Buffers 77824 bytes
数据库装载完毕。
SQL> alter database archivelog
2 /
数据库已更改。
SQL> alter database open;
数据库已更改。
SQL> drop table test;
表已丢弃。
SQL> select * from redo_size;
VALUE ----------
30520
SQL> create table test as select * from all_objects;
表已创建。
SQL> select * from redo_size;
VALUE ----------
2953668
SQL> drop table test;
表已丢弃。
SQL> select * from redo_size;
VALUE ----------
3070020
SQL> create table test nologging as select * from all_objects;
表已创建。
SQL> select * from redo_size;
VALUE ----------
3125328
SQL> select (2953668-30520) redo,(3125328-3070020) redo_nolog from dual;
REDO REDO_NOLOG ---------- ----------
2923148 55308 '
在归档模式下的近一步测试,比较ctas和ctas无数据+ insert append 的redo size:代码:
SQL> drop table test;
表已丢弃。
SQL> select * from redo_size;
VALUE ----------
3155764
SQL> create table test as select * from all_objects where 1=0;
表已创建。
SQL> insert /*+append*/into test select * from all_objects;
已创建25474行。
SQL> commit;
提交完成。
SQL> select * from redo_size;
VALUE ----------
6079860
SQL> select (6079860-3155764) logging from dual;
(6079860-3155764)
-----------------
2924096
SQL> drop table test;
表已丢弃。
SQL> select * from redo_size;
VALUE ----------
6110356
SQL> create table test nologging as select * from all_objects where 1=0;
表已创建。
SQL> insert /*+append*/ into test select * from all_objects;
已创建25474行。
SQL> commit;
提交完成。
SQL> select * from redo_size;
VALUE ----------
6167588
SQL> select (6079860-3155764) logging ,(6167588-6110356)nologging from dual;
LOGGING NOLOGGING ---------- ----------
2924096 57232 '
根据这个结果,我们看到:
noarchivelog下的CTAS 的redo=noarchivelog下的CTAS nologging的redo =archivelog下的CTAS nologging的redo
这三种情况下,都对系统产生了较少的redo size
只有在archivelog 下CTAS,才产生了较多的redo size
比较了CTAS和CTAS+insert append后,实际上(archivelog mode):
CTAS nologging redo =CTAS(no data) nologing +insert append redo size;
CTAS redo =CTAS(no data) +insert append redo size;
关于如何进行CTAS和insert append的测试就分享到这里啦,希望上述内容能够让大家有所提升。如果想要学习更多知识,请大家多多留意小编的更新。谢谢大家关注一下网站!
数据
测试
数据库
模式
代码
日志
存档
内容
序列
情况
知识
跟着
学习
信息
兴趣
只有
实际
实际上
思路
易懂
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技公司经营范围
北京路客互联网科技有限公司
互联网科技工作委员会毛军
美国互联网科技巨头监管
上海喔噻互联网科技
互联网养老 桔豆科技
华服互联网科技官网
黑科技闪耀互联网之光
杭州壁岐互联网科技有限公司
企晟互联网信息科技有限公司
高科技互联网发展前景如何
互联网方面的科技前沿
中国互联网有什么科技
江苏苏星互联网科技有限公司
互联网硬科技公司
求路客互联网科技电话
互联网科技对化妆品行业
互联网科技创新创业项目
保山浩联互联网科技有限公司
恒生互联网科技趋势
咖啡
互联网是第几次科技革命的成果
工业互联网科技新基建
腾讯科技 互联网女皇
猫创互联网科技
互联网高科技企业
卓越科技互联网 招聘
深圳国际航运科技和互联网
乌苏新华互联网科技做什么的
佛山市翊博互联网络科技有限公司