国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

oracl,e表壓縮技術

2019-11-02 15:28:52
字體:
來源:轉載
供稿:網友

   oracle壓縮技術分為基本表壓縮(basic table compression),OLTP表壓縮(OLTP table compression),索引壓縮(index compression)和混合列壓縮(hybrid columnar compression (HCC))。

  basic compression從9i開始推出,是oracle的默認壓縮方式。OLTP compression是11g開始推出,支持所有類型的DML操作的數據壓縮。壓縮會節省磁盤空間,但可能會增加CPU資源的消耗。本文主要討論常用的basic和LTOP壓縮,索引壓縮和HCC可以參考oracle其它文檔。表壓縮技術適合OLAP系統和OLTP系統中數據變化很小的歷史表,不適合頻繁DML操作的表

  1.1 壓縮的原理

  以OLTP壓縮為例,引用參考文檔4的說明,原理如下

  請看一個 ACCOUNTS 表,它包含以下記錄:

oracle表壓縮技術   電腦高手

  在數據庫內部,假定一個數據庫塊包含上述所有行。

  解壓縮的塊看上去是這樣的:記錄中的所有字段(列)都包含數據。壓縮此塊時,數據庫首先計算在所有行中發現的重復值,將這些值移出行外,然后將其放在塊的頭部附近。行中的這些重復值將被替換為一個表示其中每個值的符號。從概念上講,它看上去如下圖所示,您可以看到壓縮前后的塊。

  注意這些值是如何從行中取出并放入頂部稱為“符號表”的特殊區域中的。列中的每個值都被分配一個符號,此符號將替代行內的實際值。由于符號所占空間小于實際值,因此記錄大小也遠遠小于初始值。行中的重復

中國歷史故事[www.9-39.com/html/china/]
數據越多,符號表和塊越緊湊。

  由于壓縮作為觸發事件發生,而不是在插入行時發生,因此在正常的 DML 進程中壓縮對性能沒有任何影響。壓縮被觸發后,對 CPU 的需求肯定會變得很高,但在其他任何時間 CPU 影響都為零,因此壓縮也適用于 OLTP 應用程序,這是 Oracle Database 11g 中壓縮的平衡點。

  除了減少空間占用外,壓縮數據還將縮短網絡傳輸時間、減少備份空間,并使在 QA 和測試中維護生產數據庫的完整副本變得切實可行。

  1.2 basic壓縮

  下面通過具體的實驗來看basic壓縮和OLTP壓縮的效果和異同點。

  basic compression的6組實驗,來比較各種情況下的表壓縮

?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 [email protected](dtydb5)> select count(*)from test;  COUNT(*)   ----------       50000   --       1.Baseline CTAS   create table t1 tablespace users as select * from test where rownum <=50000;   --       2.CTAS with basic compression enabled   create table t2 compress basic tablespaceusers as select * from test where rownum <=50000;   --       3.Normal insert into empty table defined as compressed   create table t3 compress basic tablespaceusers as select * from test where rownum = 0; insert into t3 select * from test whererownum <= 50000;   --       4.Direct path insert into empty table defined as compressed   create table t4 compress basic tablespaceusers as select * from test where rownum = 0;   insert /*+append*/ into t4 select * fromtest where rownum <= 50000   --       5.CTAS without compression, then change to compressed   create table t5 tablespace users as select * from test where rownum <=50000;   alter table t5 compress basic;
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 商河县| 文水县| 米林县| 报价| 宁城县| 德惠市| 沧州市| 玛沁县| 惠水县| 景东| 林西县| 常德市| 东乌珠穆沁旗| 樟树市| 泰安市| 陆河县| 方正县| 安阳县| 汉川市| 肇州县| 苍梧县| 通山县| 城步| 穆棱市| 禹城市| 信阳市| 花莲市| 临朐县| 兴文县| 垫江县| 南召县| 东阳市| 哈尔滨市| 伊金霍洛旗| 鄂伦春自治旗| 偏关县| 上林县| 美姑县| 宁明县| 张掖市| 壤塘县|