`

Oracle的表压缩

 
阅读更多
    Oracle压缩数据的处理基于数据库块,其本质上是通过消除在数据库块中的重复数据来实现空间节约,具体方法如下:比较数据块中包含的所有字段或记录,其中重复的数据只在位于数据块开始部分的记号表(Symbol Table)中存储一份,在其他行或字段出现同样的数据时,只记录一个指向记号表中相关数据的指针。

    创建压缩表:

    create table Name(

    ......

    ) compress;

    alter table Name compress;

    alter table Name nocompress;

    

    物化视图的压缩:

    create materialized view ViewName compress

    as select ......;

    alter materialized view ViewName compress;

    

    分区表的压缩:

    create table Name (

    ......

    ) compress

    partition by ......;

    create table Name (

    ......

    )

    partition by ......(

    partition PartName ...... compress,

    partition PartName ...... compress,

    partition PartName ......

    );

    在表空间级别上定义压缩属性:

    create tablespace ...... default compress;

    alter tablespace ...... compress / nocompress;

    当压缩属性被定义在表空间上时,在其中创建表时,该特性将被表继承,但表级别的压缩属性会覆盖表空间的压缩属性。

    

    查看一个表是否为压缩表:

    select compression from user_table where table_name=TableName;

    

    查看一个表空间是否被压缩:

    select def_tab_compression from dba_tablespace where tablespace_name=TablespaceName;

    

    查看分区表各分区的压缩属性:

    select table_name, partition_name, compression from user_tab_partitions where table_name=TableName;

    

    表压缩的实现:

    压缩表的数据要能够被压缩,必须正确地使用批量装载或插入:

    1、在SQL * LOADER中使用直接路径(direct path)装载数据;

    2、执行create table ... as select语句;

    3、执行并行插入语句;

    4、执行串行插入语句并且使用append提示。

    alter table Name move compress / nocompress;

    

    性能分析:

    1、在批量装载或插入数据的过程中,由于压缩的同时进行,会引起CPU使用率提高,及导致装载时间明显增加。

    2、对于普通的INSERT语句,由于没有执行压缩过程,性能几乎没有影响。

    3、用DELETE语句删除压缩表的操作会比较快,主要是因为压缩表中被压缩行的数据比较小,相应的需要写日志的数据量也比较小。

    4、更新压缩的操作会比较慢,主要由于ORACLE对非压缩表执行了一些优化。

    5、在IO吞吐率受限制的系统执行大批量查询,比如全表扫描,压缩表将明显提高查询速度,主要由于压缩后,查找同样的数据行只需要读取更少的数据块。
分享到:
评论

相关推荐

    Oracle压缩表表空间

    在表级别上,可以使用 COMPRESS 关键字来创建一个压缩表或修改现有表为压缩表。例如: SQL> create table tmp_test (id number, phone varchar2(20), create_time date) compress; SQL> alter table tmp_test ...

    探讨Oracle表压缩技术及应用.pdf

    这样,即使压缩表的数据块在结构上与普通数据块相似,对用户和应用程序开发者来说是透明的,无需在编程或SQL查询时进行特殊处理。 ### 创建和修改压缩表 创建压缩表时,只需在`CREATE TABLE`语句中添加`COMPRESS`...

    oracle 压缩数据表

    Oracle压缩表测试 从Oracle9iR2开始,Oracle推出了压缩表技术(table compression),用于压缩数据表中的重复数据,以节省存储空间,压缩技术倾向于在数据仓库中使用

    Oracle数据库高级压缩算法介绍.docx

    闪回数据存档历史表的优化是 Oracle 高级压缩算法的一种特殊压缩技术,用于对闪回数据存档历史表进行优化。该技术可以对闪回数据存档历史表进行实时监控,并根据存档历史表的存储特点和访问频率自动选择合适的压缩...

    windows下oracle数据库备份压缩&删除历史备份.rar

    本资料"windows下oracle数据库备份压缩&删除历史备份.rar"提供了一个详细的过程,用于实现Oracle数据库的定时备份、备份文件的压缩以及自动删除两天前的旧备份。 首先,我们来讨论Oracle数据库的备份方法。在Oracle...

    Oracle自动备份压缩

    ### Oracle自动备份压缩详解 在IT领域,数据库的管理和维护是一项至关重要的工作,尤其是在数据安全性和性能优化方面。Oracle数据库作为全球领先的数据库管理系统之一,其数据的定期备份是确保业务连续性和数据恢复...

    Oracle Database 11g OLTP压缩总结

    - 因此,与非压缩表相比,对OLTP压缩表的操作会产生更多的UNDO数据。 - 生成UNDO数据的同时也会产生REDO记录,因此OLTP压缩表可能会产生相对较多的UNDO和REDO记录。 #### Oracle Advanced Compression (OAC) 技术 -...

    ORACLE的数据段压缩技术.doc

    首先,我们可以创建一张压缩表,这样后续插入的数据将会自动被压缩。创建压缩表的语法如下: ```sql CREATE TABLE <table_name> ... COMPRESS; ``` 例如,创建一个名为 `T1` 的压缩表,包含一个名为 `col` 的数值...

    Oracle压缩解压缩文件.sql

    Oracle压缩解压缩文件|Oracle压缩解压缩文件|Oracle压缩解压缩文件

    基于ORACLE数据库传输表空间的数据压缩解决方案.pdf

    【Oracle 数据库传输表空间的数据压缩解决方案】 在Oracle数据库中,数据压缩是一种有效的节省存储空间的方法,尤其在处理大量数据时。本文针对某电信计费系统由于业务政策导致的数据量急剧增长,影响了系统的稳定...

    \Oracle 表空间与数据文件

    此外,还可以指定各种参数来控制表空间的行为,如是否启用压缩、日志记录方式等。 通过以上内容,我们详细了解了Oracle中的表空间与数据文件的概念、分类以及它们在Oracle数据库存储结构中的作用,并学习了如何通过...

    windows下自动备份oracle数据dmp文件并压缩

    windows下自动备份oracle数据dmp文件并压缩成rar文件。

    oracle bat备份删除并压缩

    总结来说,Oracle BAT备份删除并压缩涉及到Oracle数据库的备份策略、RMAN命令、批处理脚本、文件清理和文件压缩等多个技术点。通过编写和执行这样的脚本,可以有效提高数据库管理的效率和安全性。

    查询一个Oracle表所占的物理空间大小

    ### 查询一个Oracle表所占的物理空间大小 在Oracle数据库管理中,了解特定表占用的物理空间大小对于优化存储、规划磁盘空间以及提高数据库性能至关重要。本文将详细介绍如何查询一个Oracle表所占的物理空间大小,...

    oracle数据库导出表结构到WORD文档

    在"压缩包子文件的文件名称列表"中提到的"oracle表结构导出器"可能是一个专用的工具,它简化了上述过程,能够直接将Oracle表结构导出为Word格式,无需手动操作。这种工具通常会包含预设的模板和格式,使得输出的文档...

    oracle自动备份压缩数据工具

    本话题主要围绕"Oracle自动备份压缩数据工具"来展开,讨论如何实现数据库的自动化备份、压缩以及转移到指定目录的操作。 一、Oracle数据库备份的重要性 1. 数据保护:备份是防止数据丢失的关键步骤,无论是由于硬件...

    Oracle P/L SQL实现文件压缩、解压功能

    Oracle P/L SQL实现文件压缩、解压功能,以下是此过程包的头部,包体经常打包处理plb,感兴趣用户可以下载下来。 Create or Replace Package UTL_ZIP AUTHID CURRENT_USER as Type File_List is Table of Clob; -...

    oracle定时删除表空间的数据并释放表空间

    此外,Oracle还提供了压缩选项,如ROW STORE COMPRESSION和COLUMN STORE COMPRESSION,可以在一定程度上减少表空间占用。 8. **监视和调整表空间**:通过使用DBA视图(如DBA_FREE_SPACE和DBA_SEGMENTS)和企业管理...

    oracle 定期备份 + 压缩 批处理.bat文件

    Oracle数据库的定期备份是...总之,"oracle 定期备份 + 压缩 批处理.bat文件"是为了简化Oracle数据库的维护工作,通过自动化流程来定期备份数据并压缩存储,同时清理旧备份,从而提供了一套高效且安全的数据保护机制。

    Oracle高级压缩

    1. **在线事务处理(OLTP)表压缩**: - 允许在所有类型的数据处理操作中压缩结构化数据。 - 使用复杂的智能算法,在写入操作期间将压缩开销降至最低,适用于所有应用程序负载。 - 通过减少磁盘I/O和提高内存效率来...

Global site tag (gtag.js) - Google Analytics