测试oracle插入 删除 更新表的日志开销
2014-04-23 00:00
423 查看
###############测试插入 删除 更新表的日志开销
创建表
SYS@orcl >create table ssr(id int);
查询表空间,sys默认system,插入数据后此分配空间
SYS@orcl >select tablespace_name, segment_name from user_segments where segment_name='SSR';
TABLESPACE_NAME SEGMENT_NAME
---------------------------------------------------------
SYSTEM SSR
创建空表
GUOYF@orcl 09:20:01>create table aa as select * from all_objects where 1=0;
查询现有日志大小
select a.name,b.value from v$statname a join v$mystat b on a.statistic#=b.statistic# where a.name='redo size';
NAME VALUE
---------------------------------------------------------------- ----------
redo size 254388
插入数据
GUOYF@orcl 09:24:01>insert into aa select * from all_objects where rownum<100;
查询日志大小
select a.name,b.value from v$statname a join v$mystat b on a.statistic#=b.statistic# where a.name='redo size';
NAME VALUE
---------------------------------------------------------------- ----------
redo size 268768
更新数据
GUOYF@orcl 09:27:47>update aa set owner='guoyf' where owner='SYS';
查看日志大小
select a.name,b.value from v$statname a join v$mystat b on a.statistic#=b.statistic# where a.name='redo size';
NAME VALUE
---------------------------------------------------------------- ----------
redo size 294612
删除数据
GUOYF@orcl 09:29:10>delete from aa where owner='guoyf';
查看日志大小
select a.name,b.value from v$statname a join v$mystat b on a.statistic#=b.statistic# where a.name='redo size';
NAME VALUE
---------------------------------------------------------------- ----------
redo size 330832
通过以上数据表明产生日志量
删除》更新》插入
AUTOTRACE是一个SQL*Plus工具,用于跟踪SQL的执行计划,收集执行时所耗用资源的统计信息
set autotrace off :缺省值,将不生成autotrace 报告
set autotrace on :包含执行计划和统计信息
set autotrace traceonly :等同于set autotrace on,但不显示查询输出的结果
set autotrace on explain :只显示优化器执行路径报告
set autotrace on statistics :只显示执行统计信息
#######测试delete无法释放表空间
创建表
SQL> create table bb as select * from dba_objects;
开启啊autotrace
SQL> set autotrace on ;
##查看I/O
SQL> select count(*) from bb;
COUNT(*)
----------
72573
Execution Plan
----------------------------------------------------------
Plan hash value: 162157452
-------------------------------------------------------------------
| Id | Operation | Name | Rows | Cost (%CPU)| Time |
-------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 290 (1)| 00:00:04 |
| 1 | SORT AGGREGATE | | 1 | | |
| 2 | TABLE ACCESS FULL| BB | 69590 | 290 (1)| 00:00:04 |
-------------------------------------------------------------------
Note
-----
- dynamic sampling used for this statement (level=2)
Statistics
----------------------------------------------------------
28 recursive calls
0 db block gets
1106 consistent gets
1034 physical reads
0 redo size
528 bytes sent via SQL*Net to client
523 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
关闭啊autotrace
SQL> set autotrace off;
删除表
SQL> delete from bb;
72653 rows deleted.
SQL> select count(*) from bb;
COUNT(*)
----------
0
SQL> commit;
Commit complete.
SQL> set autotrace on;
SQL> select count(*) from bb;
COUNT(*)
----------
0
Execution Plan
----------------------------------------------------------
Plan hash value: 162157452
-------------------------------------------------------------------
| Id | Operation | Name | Rows | Cost (%CPU)| Time |
-------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 289 (0)| 00:00:04 |
| 1 | SORT AGGREGATE | | 1 | | |
| 2 | TABLE ACCESS FULL| BB | 1 | 289 (0)| 00:00:04 |
-------------------------------------------------------------------
Note
-----
- dynamic sampling used for this statement (level=2)
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
1039 consistent gets
0 physical reads
0 redo size
525 bytes sent via SQL*Net to client
523 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
SQL> truncate table bb;
Table truncated.
SQL> select count(*) from bb;
COUNT(*)
----------
0
Execution Plan
----------------------------------------------------------
Plan hash value: 162157452
-------------------------------------------------------------------
| Id | Operation | Name | Rows | Cost (%CPU)| Time |
-------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 2 (0)| 00:00:01 |
| 1 | SORT AGGREGATE | | 1 | | |
| 2 | TABLE ACCESS FULL| BB | 1 | 2 (0)| 00:00:01 |
-------------------------------------------------------------------
Note
-----
- dynamic sampling used for this statement (level=2)
Statistics
----------------------------------------------------------
20 recursive calls
1 db block gets
10 consistent gets
0 physical reads
96 redo size
525 bytes sent via SQL*Net to client
523 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
创建表
SYS@orcl >create table ssr(id int);
查询表空间,sys默认system,插入数据后此分配空间
SYS@orcl >select tablespace_name, segment_name from user_segments where segment_name='SSR';
TABLESPACE_NAME SEGMENT_NAME
---------------------------------------------------------
SYSTEM SSR
创建空表
GUOYF@orcl 09:20:01>create table aa as select * from all_objects where 1=0;
查询现有日志大小
select a.name,b.value from v$statname a join v$mystat b on a.statistic#=b.statistic# where a.name='redo size';
NAME VALUE
---------------------------------------------------------------- ----------
redo size 254388
插入数据
GUOYF@orcl 09:24:01>insert into aa select * from all_objects where rownum<100;
查询日志大小
select a.name,b.value from v$statname a join v$mystat b on a.statistic#=b.statistic# where a.name='redo size';
NAME VALUE
---------------------------------------------------------------- ----------
redo size 268768
更新数据
GUOYF@orcl 09:27:47>update aa set owner='guoyf' where owner='SYS';
查看日志大小
select a.name,b.value from v$statname a join v$mystat b on a.statistic#=b.statistic# where a.name='redo size';
NAME VALUE
---------------------------------------------------------------- ----------
redo size 294612
删除数据
GUOYF@orcl 09:29:10>delete from aa where owner='guoyf';
查看日志大小
select a.name,b.value from v$statname a join v$mystat b on a.statistic#=b.statistic# where a.name='redo size';
NAME VALUE
---------------------------------------------------------------- ----------
redo size 330832
通过以上数据表明产生日志量
删除》更新》插入
AUTOTRACE是一个SQL*Plus工具,用于跟踪SQL的执行计划,收集执行时所耗用资源的统计信息
set autotrace off :缺省值,将不生成autotrace 报告
set autotrace on :包含执行计划和统计信息
set autotrace traceonly :等同于set autotrace on,但不显示查询输出的结果
set autotrace on explain :只显示优化器执行路径报告
set autotrace on statistics :只显示执行统计信息
#######测试delete无法释放表空间
创建表
SQL> create table bb as select * from dba_objects;
开启啊autotrace
SQL> set autotrace on ;
##查看I/O
SQL> select count(*) from bb;
COUNT(*)
----------
72573
Execution Plan
----------------------------------------------------------
Plan hash value: 162157452
-------------------------------------------------------------------
| Id | Operation | Name | Rows | Cost (%CPU)| Time |
-------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 290 (1)| 00:00:04 |
| 1 | SORT AGGREGATE | | 1 | | |
| 2 | TABLE ACCESS FULL| BB | 69590 | 290 (1)| 00:00:04 |
-------------------------------------------------------------------
Note
-----
- dynamic sampling used for this statement (level=2)
Statistics
----------------------------------------------------------
28 recursive calls
0 db block gets
1106 consistent gets
1034 physical reads
0 redo size
528 bytes sent via SQL*Net to client
523 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
关闭啊autotrace
SQL> set autotrace off;
删除表
SQL> delete from bb;
72653 rows deleted.
SQL> select count(*) from bb;
COUNT(*)
----------
0
SQL> commit;
Commit complete.
SQL> set autotrace on;
SQL> select count(*) from bb;
COUNT(*)
----------
0
Execution Plan
----------------------------------------------------------
Plan hash value: 162157452
-------------------------------------------------------------------
| Id | Operation | Name | Rows | Cost (%CPU)| Time |
-------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 289 (0)| 00:00:04 |
| 1 | SORT AGGREGATE | | 1 | | |
| 2 | TABLE ACCESS FULL| BB | 1 | 289 (0)| 00:00:04 |
-------------------------------------------------------------------
Note
-----
- dynamic sampling used for this statement (level=2)
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
1039 consistent gets
0 physical reads
0 redo size
525 bytes sent via SQL*Net to client
523 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
SQL> truncate table bb;
Table truncated.
SQL> select count(*) from bb;
COUNT(*)
----------
0
Execution Plan
----------------------------------------------------------
Plan hash value: 162157452
-------------------------------------------------------------------
| Id | Operation | Name | Rows | Cost (%CPU)| Time |
-------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 2 (0)| 00:00:01 |
| 1 | SORT AGGREGATE | | 1 | | |
| 2 | TABLE ACCESS FULL| BB | 1 | 2 (0)| 00:00:01 |
-------------------------------------------------------------------
Note
-----
- dynamic sampling used for this statement (level=2)
Statistics
----------------------------------------------------------
20 recursive calls
1 db block gets
10 consistent gets
0 physical reads
96 redo size
525 bytes sent via SQL*Net to client
523 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
相关文章推荐
- “百度与站长”更新:关于网站收录,删除,seo等
- 用vbs删除某些类型文件和磁盘空间报告的脚本
- QQ聊天记录删除了怎么恢复简单方法
- vbs删除注册表项的代码
- 迅速删除非法文件名的批处理代码
- 通过批处理实现删除运行、查找等处的历史记录的代码
- 删除文件提示文件正在被另一个人或程序使用的解决方法
- 关于.LDB文件 .ldb文件的产生 .ldb文件的删除方法
- asp 合并记录集并删除的sql语句
- SQLserver 数据库危险存储过程删除与恢复方法
- sql自增长设置与删除的深入分析
- linux oracle数据库删除操作指南
- mssql SA帐号的改名和删除
- UTF-8 编码中BOM的检测与删除
- QQ聊天记录删除了怎么恢复 详细步骤教程
- 删除及到期域名的查看(抢域名必备哦)
- 如何删除多级目录
- SQL2000中改名和删除默认sa帐号的最安全方法
- jquery 如何动态添加、删除class样式方法介绍
- 解析Oracle中多表级联删除的方法