在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

怎么理解Oracle表压缩

96次阅读
没有评论

共计 3699 个字符,预计需要花费 10 分钟才能阅读完成。

本篇内容介绍了“怎么理解 Oracle 表压缩”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让丸趣 TV 小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1、官方文档说法: 

As your database grows in size, consider using table compression. Compression saves disk space, reduces memory use in the database buffer cache, and can significantly speed query execution during reads. Compression has a cost in CPU overhead for data loading and DML. However, this cost might be offset by reduced I/O requirements

随着数据库不断增长,可以考虑使用表压缩。压缩可以节省磁盘空间,减少数据库 buffer cache 内存使用,并且可以加速查询。 

压缩对于数据装载和 DML 操作有一定的 CPU 消耗。然而,这些消耗可以为 I / O 的减少而抵消。

表的压缩对于应用程序来说是完全透明的,对于决策支持系统(DSS)、联机事务处理系统(OLTP)、归档系统(Archive Systems)来说表的压缩是有益处的。

我们可以压缩表空间,表和分区。如果压缩表空间,那么在默认的情况下,表空间上创建的所有表都将被压缩。只有在表执行插入、更新或批量数据载入时,才会执行数据的压缩操作。

一、表压缩的方法

Oracle 提供了一下四种类型的表压缩方法:

1、Basic Compression:压缩等级 High,CPU 开销较小

2、OLTP Compression:压缩等级 High,CPU 开销较小

3、Warehouse Compression:压缩等级 Higher,CPU 开销较大(取决于压缩参数是 Low 还是 High)

4、Archive Compression:压缩等级 Highest,CPU 开销很大(取决于压缩参数是 Low 还是 High)

当使用 Basic Compression,warehouse Compression,Archive Compression 类型的压缩时,尽在发生批量数据导入时才会执行压缩。

OLTP Compression 被用于联机事务处理系统,可以对任意的 SQL 操作执行数据压缩。

Warehouse Compression 和 Archive Compression 可以获得很高的压缩等级,因为它们采用了 Hybrid Columnar(混合列)压缩技术,Hybrid Columnar 采用一种改良的列的存储形式替代一行为主的存储形式。Hybird Columnar 技术允许将相同的数据存储在一起,提高了压缩算法的效率。当使用混合列压缩算法时,将导致更多的 CPU 开销,因此这种压缩技术适用于更新不频繁的数据。

二、基本压缩特点: 

1)使用基本压缩,只有当数据是直接路径插入或更新记录(direct-path insert and updated)时才会发生压缩。 

并且支持有线的数据类型和 SQL 操作。

二、如何启用基本压缩? 

1)通过 create table 语句中指定 compress 条件。 

2)通过 alter table .. compress; 来给现有表启用压缩; 

3)通过 alter table .. nocompress; 来禁用表压缩

三、在压缩表上添加和删除列

在压缩表上添加和删除列有如下限制:

1、对于 compression basic 类型的压缩,不能对新添加的列指定默认值

– 测试过程:

TEST@ r7 select * from empd1;
no rows selected
TEST@ r7 select table_name,compression,compress_for from user_tables where table_name= EMPD1 
TABLE_NAME COMPRESS COMPRESS_FOR
------------------------------ -------- ------------
EMPD1 DISABLED
TEST@ r7 INSERT INTO EMPD1 SELECT * FROM SCOTT.EMP WHERE ROWNUM 
9 rows created.
TEST@ r7 COMMIT;
Commit complete.
TEST@ r7 alter table empd1 compress basic;
Table altered.
TEST@ r7 select table_name,compression,compress_for from user_tables;
TABLE_NAME COMPRESS COMPRESS_FOR
------------------------------ -------- ------------
TBUSINFLAG ENABLED OLTP
TCOMBI ENABLED OLTP
TCURRENTS ENABLED OLTP
TENTRUSTDIRECTION ENABLED OLTP
TINSTRUCTION ENABLED OLTP
TINSTRUCTIONSTOCK ENABLED OLTP
TOPERATOR ENABLED OLTP
TOUTCONFIRM ENABLED OLTP
TREALDEAL ENABLED OLTP
TSTOCKINFO ENABLED OLTP
TUNITSTOCK ENABLED OLTP
CUSTOMERS ENABLED OLTP
SYS_EXPORT_FULL_01 ENABLED OLTP
A ENABLED OLTP
B ENABLED OLTP
EMPD1 ENABLED BASIC
16 rows selected.
TEST@ r7 desc empd1;
 Name Null? Type
 ----------------- -------- -------------
 EMPNO NUMBER(4)
 ENAME VARCHAR2(10)
 JOB VARCHAR2(9)
 MGR NUMBER(4)
 HIREDATE DATE
 SAL NUMBER(7,2)
 COMM NUMBER(7,2)
 DEPTNO NUMBER(2)
-- 添加有默认值的字段:不支持
TEST@ r7 alter table empd1 add (test varchar(10) default  sysdate 
alter table empd1 add (test varchar(10) default  sysdate )
 *
ERROR at line 1:
ORA-39726: unsupported add/drop column operation on compressed tables
-- 添加没有默认值得字段:支持
TEST@ r7 alter table empd1 add (test varchar(10));
Table altered.
-- 对于 compression basic 类型的压缩,不支持列的删除操作
TEST@ r7 alter table empd1 drop column test;
alter table empd1 drop column test
 *
ERROR at line 1:
ORA-39726: unsupported add/drop column operation on compressed tables

2、对于 OLTP 类型的压缩,如果为新添加的列指定默认值,则该列必须被设置为 NOT NULL,为可以为空的列添加默认值不被支持。

/* 原文是这样的:OLTP compression – If a default value is specified for an added column, then the column must be NOT NULL. Added nullable columns with default values are not supported. */

对于这一点,做个测试。对于 OLTP 类型的压缩,该列为空也可以被添加。

TEST@ r7 alter table empd1 add (test1 varchar(10) default  sysdate 
Table altered.

对于 OLTP 类型的压缩,能够支持列的删除操作,但是在数据库内部将列标记为 unused 状态,避免长时间的解压和重新压缩的操作。

TEST@ r7 alter table empd1 drop column test;
Table altered.
SQL  ALTER TABLE EMPD1 DROP UNUSED COLUMNS; -- 删除 unused 字段 

“怎么理解 Oracle 表压缩”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注丸趣 TV 网站,丸趣 TV 小编将为大家输出更多高质量的实用文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-20发表,共计3699字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 久久99久久99小草精品免视看 | 亚洲人成中文字幕在线观看 | 日韩在线视频一区二区三区 | 中文字幕精品av乱码在线 | 国产精品第一国产精品 | 在线天堂网| 国产欧美亚洲精品综合在线 | 湖南毛片| 青青热在线观看视频精品 | 久久久亚洲精华液精华液精华液 | 亚洲日本va午夜在线电影 | 黄色短视频免费 | 色视频在线免费观看 | 青青青青青青久久久免费观看 | 国产欧美精品系列在线播放 | 国产成人爱情动作片在线观看 | 内射囯产旡码丰满少妇 | 男女扒开双腿猛进入免费看污 | 美女黄网站色一级毛片 | 9久re在线观看视频精品 | 尤物在线观看精品国产福利片 | 亚洲国产日韩一区三区 | 国偷自产视频一区二区久 | 免费一级毛片在线播放视频 | 2020国产精品自拍 | 一级片免费在线观看 | 每日更新在线观看av_手机 | 国产不卡视频一区二区在线观看 | 欧美一级特黄特色大片免费 | 国产午夜亚洲精品久久www | 国产成人精品男人的天堂网站 | 极品丝袜高跟91白沙发在线 | 强辱丰满人妻hd中文字幕 | 香港日本三级亚洲三级 | 国产一区曰韩二区欧美三区 | 亚洲狠狠色丁香婷婷综合 | 91视频第一页 | 国产精品熟妇一区二区三区四区 | 欧美亚洲国产精品久久 | 每天更新的免费av片在线观看 | 欧美最猛的24k毛片视频 |