如何进行CTAS和insert append的测试
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,这篇文章跟大家分析一下"如何进行CTAS和insert append的测试"。内容详细易懂,对"如何进行CTAS和insert append的测试"感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希
千家信息网最后更新 2025年02月23日如何进行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安全错误
数据库的锁怎样保障安全
软件开发小组规模
数据库下一年度
数据库如何查询一列
网络安全知识竞赛成绩被取消
思科网络安全海报
牡丹江焦作网络技术有限公司
对于大学生网络安全教育的建议
服务器远程管理卡 价格
著作权法2021数据库
天谕岛服务器不开英灵吗
给服务器降温的办法
居民网络安全
软件开发什么学校好
测试pl sql数据库
服务器安全狗控制进程
软件开发为什么都是男的
百度爬虫技术抓取电信数据库
互联网 与科技创新的论文
web服务器证书的作用
网络安全法十五条规定
利用套接字技术对数据库访问
服务器怎么改12伏电源
免费海外服务器
龙珠觉醒服务器不一样
ui好 还是软件开发好学吗
弹出表单数据库设置
netty 数据库
燃烧的远征新手推荐服务器
网络安全性测试包含哪些内容
联想服务器导航光盘怎么用