当前位置:  数据库>oracle

Oracle (11gR2)中的表压缩

    来源: 互联网  发布时间:2017-04-29

    本文导语: 压缩的好处 压缩是一项更适合于数据仓库环境的一项Oracle 特性。压缩的好处包括以下两个方面: 1、节省存储空间,对应海量的数据来说非常有意义。 2、查询性能将会提高(不是绝对会提高),因为物理I/O 减少,并且提高了...

压缩的好处

压缩是一项更适合于数据仓库环境的一项Oracle 特性。压缩的好处包括以下两个方面:

1、节省存储空间,对应海量的数据来说非常有意义。

2、查询性能将会提高(不是绝对会提高),因为物理I/O 减少,并且提高了内存中数据块的命中率。

不利的方面:

可能增加CPU 的负载。影响DML操作的性能。表中的碎片增多,浪费存储空间。更多详细的说明请参考:http://www.oracle.com/technetwork/database/options/partitioning/twp-data-compression-10gr2-0505-128172.pdf

造成这些结果,主要是因为误用了表压缩技术,因为表压缩技术是一项更适合于数据仓库环境的一项oracle 特性。即数据主要是用作查询目的,很少涉及DML操作。

oracle 提供的压缩方式及特性

oracle 提高了4总压缩方式,分别适用不同的场景。分别是:

basic compression:压缩度高,CPU开销最低,适用于DDS。

OLTP compression : 压缩度高,CPU开销最低,适用于OLTP,DDS。

注:压缩可以指定在表空间级,表级,分区级。如果表空间带有压缩属性那么其中的表默认也带有压缩属性,但是表级的压缩属性可以覆盖表空间级的压缩属性,表的压缩属性与分区的压缩属性的关系也是这样的。以下主要讲的是表的压缩。

另外有两种压缩方式,不过这两种压缩方式使用范围有限:

SQL> create table object_copy compress for query

  2  as select * from dba_objects;

as select * from dba_objects

                 *

ERROR at line 2:

ORA-64307: hybrid columnar compression is only supported in tablespaces

residing on Exadata storage

也就是说使用混合柱状压缩表空间需要位于exadata一体机上面。更多关于柱状压缩的资料,可以参考:

http://docs.oracle.com/cd/E11882_01/server.112/e17120/tables002.htm

创建表的时候通过指定compress basic 关键字使表使用basic compression的压缩方式。如果只使用compress 关键字不指定压缩方式,默认是basic方式。使用basic 方式压缩的特性在于:使用直接路径insert 的记录是压缩的,update 操作相当于解压缩。

SQL> create table objects_1

  2  compress basic

  3  as select object_id,object_name

  4  from dba_objects;

Table created.

SQL> create table objects_1

  2  compress basic

  3  as select object_id,object_name

  4  from dba_objects;

Table created.

指定OLTP方式的压缩方法指定关键字:compress for oltp。OLTP方式的压缩方式特性

在于:使用直接路径insert 的记录依然是压缩的,传统的insert 语句插入的记录也是压缩的,update 语句操作过后数据依然是压缩的。


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • ORACLE日期相关操作
  • Linux系统下Oracle的启动与Oracle监听的启动
  • ORACLE数据库常用字段数据类型介绍
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • Oracle 12c的九大最新技术特性介绍
  • 网间Oracle的连接,远程连接Oracle服务器??


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,