中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

壓縮表

發布時間:2020-04-24 21:13:20 來源:網絡 閱讀:219 作者:jsj_007 欄目:關系型數據庫

通常我們可以使用 COMPRESS子句或COMPRESS BASIC子句來啟用表的基本壓縮特性(COMPRESS子句和COMPRESS BASIC子句的作用是相同的),從性能的角度來說,使用基本壓縮的主要優勢在于,如果數據壓縮后再加載,接下來的任何 I/O操作都會使用更少的資源,因為在讀寫數據時需要訪問更少的數據塊。一般來說,存儲大量字符數據的表適合使用基本壓縮。Oracle的基本壓縮屬性對于正常的DML語句,例如INSERTUPDATEMERGEDELETE沒有影響。如果你希望對所有DML語句起作用,那么就要考慮使用OLTP壓縮。COMPRESS FOR OLTP子句為所有DML操作啟用壓縮。OLTP壓縮并不會在數據插入或修改時馬上壓縮,而是在數據塊中的修改達到一定閾值時,成批次來進行壓縮。當達到閾值時,所有未壓縮的數據行將會同時進行壓縮。需要進行壓縮的閾值由一種內部算法(你并不能控制)決定。

同樣也能夠在分區和表空間級別上指定基本壓縮。位于使用COMPRESS子句創建的表空間中的所有表,默認都會啟用基本壓縮。

可以查詢相應的DBA/ALL/USER_TABLES視圖的compression來驗證是否對一張表啟用了壓縮。查詢dba_tablespace視圖中的tab_compressioncompress_for列檢查表空間是否啟用了壓縮。

創建壓縮表:

create table regs (reg_id number,reg_name varchar2(2000))compress;

create table regs (reg_id number,reg_name varchar2(2000))compress for oltp;

壓縮表(之后的數據啟用):

SQL> alter table regs_dss compress;

    SQL> alter table regs compress for oltp;


壓縮表中已有數據:

SQL> alter table regs_dss move compress;

SQL> alter table regs_dss move compress for oltp;

 

解壓縮:

SQL> alter table regs_dss nocompress;

SQL> alter table regs_dss nocompress for oltp;


解壓縮表中已有數據:

SQL> alter table regs_dss move nocompress;

SQL> alter table regs_dss move nocompress for oltp;


創建壓縮表空間

CREATE TABLESPACE comp_data

DATAFILE 1/oraOl/dbf Ile/0liR2/comp_dataOl.dbf'

SIZE 500M

EXTENT MANAGEMENT LOCAL

UNIFORM SIZE 512K

SEGMENT SPACE MANAGEMENT AUTO

DEFAULT COMPRESS;/ DEFAULT COMPRESS for oltp;

修改已有的表空間,設置其默認的壓縮度:

SQL> alter tablespace comp_data default compress;

1)         創建測試表并插入數據

SQL> CREATE TABLE t (ID NUMBER,addtime DATE,mark varchar2(10) default null);

 

SQL> BEGIN

   FOR i IN 1 .. 60000

   LOOP

      INSERT INTO t(id,addtime)

           VALUES (i, sysdate);

      COMMIT;

      ---DBMS_LOCK.sleep (0.1);

   END LOOP;

END;

/

2)         查看對象大小

SQL> select segment_name, bytes/1024/1024 from dba_segments where owner='ADMIN';

 

SEGMENT_NAME              BYTES/1024/1024

------------------------- ---------------

CHAINED_ROWS                  .0625

T                                    5.8125

 

3)         使用表壓縮功能創建

SQL> create table t_com compress as select * from t;

SQL> select segment_name, bytes/1024/1024 from dba_segments where owner='ADMIN';

 

SEGMENT_NAME              BYTES/1024/1024

------------------------- ---------------

T_COM                         3

CHAINED_ROWS                  .0625

T                               5.8125

t_com啟用壓縮后比t小了將近一半的數據量。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

双鸭山市| 叶城县| 涪陵区| 桂平市| 英超| 遵义县| 崇州市| 濮阳县| 建德市| 澎湖县| 洛宁县| 武安市| 民县| 合川市| 玛曲县| 吉安市| 荔波县| 故城县| 嘉定区| 凌海市| 莲花县| 莱芜市| 长沙市| 湖口县| 齐河县| 冀州市| 社会| 黄平县| 赣州市| 永和县| 镇雄县| 浦北县| 晋城| 宁南县| 海盐县| 绥德县| 通州市| 凤翔县| 常熟市| 蒙阴县| 曲松县|