压缩表空间
来源:互联网 发布:我的世界pe我是僵尸js 编辑:程序博客网 时间:2024/05/22 18:24
压缩表空间的优点:节省空间
缺点:消耗cpu
适合:一般用于存放历史数据,或者不经常update delete的表
压缩表空间技术是从11g 开始的,10g一般还是压缩表
创建压缩表空间:
SQL> CREATE TABLESPACE compress01 datafile 'D:\APP\ADMINISTRATOR\ORADATA\ORA11G\COMPRESS01.DBF' DEFAULT COMPRESS FOR OLTP ;
表空间已创建。
创建大文件的压缩表空间
SQL> CREATE bigfile TABLESPACE compress02 datafile 'D:\APP\ADMINISTRATOR\ORADATA\ORA11G\COMPRESS02.DBF' DEFAULT COMPRESS FOR OLTP ;
表空间已创建。
创建一个普通表空间,然后修改普通表空间为压缩表空间
SQL> CREATE TABLESPACE test datafile 'D:\APP\ADMINISTRATOR\ORADATA\ORA11G\test01.DBF' size 20m ;
表空间已创建。
SQL> alter tablespace test default compress for oltp;
表空间已更改。
SQL> select tablespace_name, compress_for from dba_tablespaces;
TABLESPACE_NAME COMPRESS_FOR
------------------------------ ------------------------
TEST OLTP
COMPRESS01 OLTP
COMPRESS02 OLTP
已选择8行。
取消表空间的压缩
SQL> alter tablespace test default nocompress;
表空间已更改。
SQL> select tablespace_name, compress_for from dba_tablespaces;
TABLESPACE_NAME COMPRESS_FOR
------------------------------ ------------------------
TEST
COMPRESS01 OLTP
COMPRESS02 OLTP
TEST5
已选择9行。
SQL> CREATE TABLESPACE test5 datafile 'D:\APP\ADMINISTRATOR\ORADATA\ORA11G\test02.DBF' size 20m autoextend on
next 10m extent management local uniform size 1m ;
表空间已创建。
在compress01 表空空间里创建表
--在压缩表空间里创建oltp压缩表
SQL> create table t4 compress for oltp tablespace compress01 as select * From emp where 0=1;
表已创建。
---在压缩表空间里创建非压缩表
SQL>create table t5 tablespace compress01 as select * From emp where 0=1;
表已创建。
SQL> insert into t4 select *From test;
已创建196608行。
SQL> insert into t5 select *From test;
已创建196608行。
SQL> commit;
提交完成。
SQL> analyze table t5 compute statistics;
表已分析。
SQL> analyze table t4 compute statistics;
表已分析。
SQL> select table_name,blocks,compress_for From dba_tables where table_name in ('T4','T5');
TABLE_NAME BLOCKS COMPRESS_FOR
------------------------------ ---------- ------------
T4 496 OLTP
T5 496 OLTP
结论:在oltp压缩表空间里创建表,如果不指定默认的压缩方式,默认是按照表空间的压缩方式oltp方式来进行压缩
SQL> create table t6 compress tablespace compress01 as select * From emp where 0=1;
表已创建。
SQL> select table_name,blocks,compress_for From dba_tables where table_name in ('T4','T5','T6');
TABLE_NAME BLOCKS COMPRESS_FOR
------------------------------ ---------- ------------
T4 496 OLTP
T5 496 OLTP
T6 BASIC
结论:如果在oltp压缩表空间内创建表的时候,指定压缩方式为basic compress,那么创建的表是按照basic compression 压缩
说明表级别的压缩方式会覆盖表空间级别的压缩方式
索引的压缩:
SQL> create index ind_t4 on t4(empno,ename) tablespace compress01;
索引已创建。
SQL> create index ind_t5 on t5(empno,ename) compress tablespace compress01;
索引已创建。
SQL> select index_name,compression ,leaf_blocks,tablespace_name From user_indexes where table_name in ('T4','T5');
INDEX_NAME COMPRESS LEAF_BLOCKS TABLESPACE_NAME
------------------------------ -------- ----------- ------------------------------------------------------------
IND_T5 ENABLED 303 COMPRESS01
IND_T4 DISABLED 573 COMPRESS01
结论:虽然我们是在压缩表空间里创建索引,但是索引仍然是disabled,没有压缩,所有如果要压缩索引,必须手动指明compress
0 0
- ORACLE 表空间压缩
- 20121112 压缩表空间
- 压缩表空间
- oracle压缩表空间
- oracle压缩表/表空间
- oracle压缩表/表空间
- oracle压缩表/表空间
- oracle 压缩表、表空间
- Oracle 压缩表,表空间等操作
- db2深度压缩表,节省表空间
- 如何压缩表空间、把表移到另一个表空间
- oracle压缩表表空间
- Oracle压缩表表空间
- oracle压缩表表空间
- virtualbox磁盘压缩空间
- virtualbox空间压缩
- oracle中启用、禁用表空间、表压缩
- 表空间级COMPRESS属性--压缩表的应用
- 浅析 PHP 官方自动化测试方法
- loadView 和 viewDidLoad
- Openssl证书管理
- 基于多米API在线音乐项目(1)——Oauth认证
- JVMJ9VM011W error when installing ITM on Linux
- 压缩表空间
- Oracle中Hint深入理解
- VS2012只生成dll不生成lib的解决方案
- 51单片机EA=1的问题
- 前置增强的实现
- Java中的阻塞和非阻塞IO包各自的优劣思考
- unity c#读取xml
- java解析xml的几种方式哪种最好?
- 使用双线插值算法缩放位图图像