如何进行CTAS和insert append的测试
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,这篇文章跟大家分析一下"如何进行CTAS和insert append的测试"。内容详细易懂,对"如何进行CTAS和insert append的测试"感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希
千家信息网最后更新 2024年09月22日如何进行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安全错误
数据库的锁怎样保障安全
如何使用股票市场数据库
个人接软件开发项目流程
域名不能解析到服务器了
网络安全工程师学历重要么
河南郑州新郑服务器云主机
甘肃省网络安全审判庭揭牌牌
深圳网络服务器
星辰在国服哪个服务器
对比两个数据库表里的值是否一致
计算机网络技术自测题a
组织部网络安全工作开展情况
360国资网络安全
网络安全小讨论
我的世界做服务器mod需要买吗
五年软件开发考cpa
诛仙进天界服务器卡
ftb服务器是一个什么系统
java批量写入数据库
什么是云计算什么是云服务器
系统服务器停机时间8.5小时
mysql数据库无法添加表
我的世界全部服务器
服务器连接速度是什么意思
金蝶软件开发成品科目
中国儿童网络安全研究
软件开发主管工程师
网络安全人人有责的黑板报内容
技校网络技术专业好不好
制造业软件开发
软件维护和软件开发前景如何