Oracle資料壓縮的技術分析

2022-03-11 21:06:55 字數 1171 閱讀 7876

本文將從兩方面講解oracle資料壓縮,它們分別是使用索引鍵壓縮,對於唯讀或主要是讀的表進行表壓縮。

oracle支援索引結構和資料庫表的壓縮。在依賴於提取重複資訊並在塊上儲存該重複資訊一次而不是每次出現都儲存方面,這兩種段型別的壓縮演算法是類似的。

索引和表的壓縮稍有不同,可以用於不同的情形。例如,壓縮索引可用於經常修改的表,而表壓縮在這種情況下沒有什麼意義。

1.oracle資料壓縮之使用索引鍵壓縮

oracle中索引鍵壓縮允許壓縮索引鍵的前面重複部分,並且每個葉塊而不是每個葉塊每行儲存重複部分的值一次。

優點:

壓縮索引占用磁碟空間較少,因此節省了儲存。

壓縮索引可減少系統的物理i/o量。

壓縮索引提高了緩衝區快取記憶體的效率。只需要快取記憶體較少的塊。索引塊既是壓縮快取記憶體的,也是壓縮儲存的。

缺點:

壓縮索引每塊放置更多的行項,增加了這些已經緊湊的資料結構上的爭用。如果以前每個葉塊放置200行,現在大約放置400行。

執行時壓縮索引需要稍多的cpu時間進行處理,因為這種結構更複雜。在插入和選擇操作中可能會看到這一點。

2.oracle資料壓縮之對於唯讀或主要是讀的表進行表壓縮

表壓縮和索引壓縮之間的主要差別在於使用。索引鍵壓縮在表經常修改、唯讀或主要是讀的系統上的效果是等同的。不管是哪種環境,索引的維護都在其壓縮狀態下進行。但是,表壓縮僅在唯讀或主要是讀的環境中效果才好。

表壓縮可能在如下的情形中才有價值:

大量唯讀或主要是讀的靜態參考資訊

經常有批量操作的資料倉儲環境。

儲存在分割槽表中的審計跟蹤資訊,可以在新月份開始是壓縮前乙個月的審計資訊。

oracle資料壓縮小結:

壓縮是節省磁碟空間的強有力的工具,不過要與其它儲存考慮進行折中。如果資料的位置很關鍵,則資料必須集群以便提供最好的效能,壓縮可能不是最好的方法。另一方面,如果需要儲存大量的唯讀資料,如審計跟蹤資訊和資料倉儲表,則壓縮可能正是你需要的工具。

在效能方面,壓縮表相當不錯。與索引鍵壓縮的開銷一樣,資料塊解壓縮的開銷也很小。而且,所帶來的好處,如減少i/o、更高效的利用緩衝區快取記憶體、減少栓鎖等遠超過了這點開銷。

以上就是對oracle資料壓縮的概述。

mysql 資料壓縮 mysql的資料壓縮效能對比

資料魔方需要的資料,一旦寫入就很少或者根本不會更新。這種資料非常適合壓縮以降低磁碟占用。mysql本身提供了兩種壓縮方式 archive引擎以及針對myisam引擎的myisampack方式。今天對這兩種方式分別進行了測試,對比了二者在磁碟占用以及查詢效能方面各自的優劣。至於為什麼做這個,你們應該懂...

ASIHTTPRequest 資料壓縮

從0.9版本開始,asihttprequest會提示伺服器它可以接收gzip壓縮過的資料。apache 2.x以上版本已經配備了mod deflate擴充套件,這使得apache可以透明地壓縮特定種類的資料。要開啟這個特性,你需要在apache的配置檔案中啟用mod deflate。並將mod de...

ASIHTTPRequest 資料壓縮

從0.9版本開始,asihttprequest會提示伺服器它可以接收gzip壓縮過的資料。apache 2.x以上版本已經配備了mod deflate擴充套件,這使得apache可以透明地壓縮特定種類的資料。要開啟這個特性,你需要在apache的配置檔案中啟用mod deflate。並將mod de...