临时表和普通表日志量产生的对比
来源:互联网 发布:java 剩余天数 编辑:程序博客网 时间:2024/05/16 01:34
1.临时表和普通表日志量产生的对比
1.1临时表的创建
在第一个会话中创建session1
-创建session级别的临时表
SQL> create global temporary table tb_temp1 (id integer,name varchar2(50)) on commit preserve rows;
Table created.
--创建事务级别的临时表
SQL> create global temporary table tb_temp2 (id integer,name varchar2(50)) on commit delete rows;
Table created.
1.2创建普通表
在第二个会话中创建session2
SQL> create table tb_test(id integer,name varchar2(50)) tablespace tbs_xb;
Table created
1.3在session1中执行如下操作
--查看当前日志
SQL> select a.name,
2 b.value
3 from v$statname a
4 join v$mystat b
5 on a.statistic#=b.statistic#
6 where a.name='redo size';
NAME VALUE
-------------------- ----------
redo size 50104
SQL> begin
2 for i in 1..1000000 loop
3 insert into tb_temp1 values(i,'striverzhaolizheng'||i);
4 end loop;
5 end;
6 /
PL/SQL procedure successfully completed.
SQL> commit;
Commit complete.
SQL> select count(*) from tb_temp1;
COUNT(*)
----------
1000000
SQL> select a.name,
2 b.value
3 from v$statname a
4 join v$mystat b
5 on a.statistic#=b.statistic#
6 where a.name='redo size';
NAME VALUE
-------------------- ----------
redo size 140639384
SQL> select (140639384-50104)/1024/1024 from dual;
(140639384-50104)/1024/1024
---------------------------
134.076385
产生了大约134MB的日志
1.4在session2中执行如下操作
SQL> select a.name,
2 b.value
3 from v$statname a
4 join v$mystat b ona.statistic#=b.statistic#
5 where a.name='redo size';
NAME VALUE
-------------------- ----------
redo size 15408
SQL> begin
2 for i in 1..1000000 loop
3 insert into tb_test values(i,'striverzhaolizheng'||i);
4 end loop;
5 end;
6 /
PL/SQL procedure successfully completed.
SQL> commit;
Commit complete.
SQL> select count(*) from tb_test;
COUNT(*)
----------
1000000
SQL> select a.name,
2 b.value
3 from v$statname a
4 join v$mystat b on a.statistic#=b.statistic#
5 where a.name='redo size';
NAME VALUE
-------------------- ----------
redo size 274658276
SQL> select (274658276-15408)/1024/1024 from dual;
(274658276-15408)/1024/1024
---------------------------
261.919849
产生了大约262MB的日志
1.6验证redolog生成日志量是否真实
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARCHIV STATUS FIRST_CHANGE# FIRST_TIME
-------------------- ---------- ---------- ---------- ------ ---------- -------------------------
1 1 29 52428800 1 NO CURRENT 585726 22-MAY-13
2 1 27 52428800 1 NO INACTIVE 585566 22-MAY-13
3 1 28 52428800 1 NO INACTIVE 585647 22-MAY-13
SQL> selecta.name,
2 b.value
3 from v$statname a
4 join v$mystat b
5 on a.statistic#=b.statistic#
6 where a.name='redo size';
NAME VALUE
------------------------------------------------------------------------------------------------------------------------------------------
redo size 0
SQL> begin
2 fori in 1..1000000 loop
3 insert into tb_temp1 values(i,'striverzhaolizheng'||i);
4 end loop;
5 end;
6 /
PL/SQL procedure successfully completed.
SQL> select a.name,
2 b.value
3 from v$statname a
4 join v$mystat b
5 on a.statistic#=b.statistic#
6 where a.name='redo size';
NAME VALUE
------------------------------------------------------------------------------------------------------------------------------------------
redo size 140565400
SQL> select 140565400/1024/1024 from dual;
140565400/1024/1024
-------------------
134.053612
共生成大约134MB的数据
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARCHIV STATUS FIRST_CHANGE# FIRST_TIME
-------------------- ---------- ---------- ---------- ------ ---------- -------------------------
1 1 29 52428800 1 NO INACTIVE 585726 22-MAY-13
2 1 30 52428800 1 NO ACTIVE 588973 22-MAY-13
3 1 31 52428800 1 NO CURRENT 589025 22-MAY-13
Sequence#从29变为了31,每一个日志文件的大小是50MB,大致可以推算出日志应该是134MB.
- 临时表和普通表日志量产生的对比
- 普通表与临时表DML操作会产生REDO/UNDO对比与分析
- 普通物理表、临时表和TABLE(函数)的执行效率对比
- 普通物理表、临时表和TABLE(函数)的执行效率对比
- 根据类和返回值★产生临时量的几种情况
- TempDB 中表变量和局部临时表的对比
- TempDB 中表变量和局部临时表的对比
- 对表进行dml操作时影响产生日志量的几个因素
- 估算的redo重做日志产生量
- Oracle临时表和SQL Server临时表的不同点对比
- 查询产生临时表的调优
- 查询产生临时表的调优
- 多种临时表效率的对比分析
- 多种临时表效率的对比分析
- 【oracle】关于日志产生量的计算-日志切换频率
- Oracle中临时表产生过量Redo的说明
- Oracle中临时表产生过量Redo的说明
- Oracle中临时表产生过量Redo的说明
- 最短路径之Dijkstra算法详细讲解
- Openfire与XMPP协议
- 缺陷管理--软件缺陷的分类
- 视频等比例缩放
- 第十一次上机
- 临时表和普通表日志量产生的对比
- 给ueditor编辑器的content的img添加a超链接
- HBase - Who needs a Master?
- Java Smack SDK 结合 Openfire服务器,建立IM通信,发送聊天消息
- Java相关开发工具
- org.hibernate.SessionException: Session is closed!
- ubuntu修改密码
- php-fpm配置成服务
- 学习OpenCV:滤镜系列(2)——扩张&挤压