如何进行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安全错误
数据库的锁怎样保障安全
贱圣爆服务器
后台服务器ip地址
服务器库存管理字段
世界贸易组织数据库考试技巧
工业级串口服务器多少钱
网络安全等级保护 异地灾备
软件开发标准产品经理
卢龙游戏软件开发
链接数据库的名字一般叫什么
数据库去重分组排序
字节流读取数据库中的图片
计算机网络技术三级证书丢了
智能网络安全考研
sqlce数据库
无锡网络技术开发咨询报价
最大容量数据库
原神ps5登陆不了服务器
网络安全取队名
飞艇黄金计划软件开发工作室
计算机网络技术的论述与构成
数据库cnki是什么
数据库重新分配原则
压缩软件开发公司电话
网络安全培训班出来一般工资多少
战地1服务器管理员权限
中国农业银行鲲鹏服务器
2016年武汉网络安全
精灵宝可梦服务器手机版下载安装
怀旧服开服服务器时间表
数据库事务 跨库