国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Oracle基礎學習之表壓縮

IT那活兒 / 3590人閱讀
Oracle基礎學習之表壓縮

點擊上方“IT那活兒”公眾號,關注后了解更多內容,不管IT什么活兒,干就完了!!!


背景介紹

Oracle支持在表空間(tablespace)、數據表(table)和分區(Partition)級別的壓縮,如果設置為表空間級別,那么默認將該表空間中的全部的表都進行壓縮。
壓縮操作可以在數據單條插入、數據修改和數據批量導入時發生。
隨著數據庫不斷增長,可以考慮使用表壓縮。壓縮可以節省磁盤空間,減少數據庫buffer cache內存使用,并且可以加速查詢。
壓縮對于數據裝載和DML操作有一定的CPU消耗。然而,這些消耗可以為I/O的減少而抵消。
表壓縮對于應用程序完全透明。對于DSS系統、在線事務處理和歸檔系統都很有用處。
你可以為表空間,表或者一個分區指定壓縮。如果指定為表空間基本,那么該表空間所有表創建后默認都啟用壓縮。
壓縮可以再數據插入,更新或者批量裝載入表中時發生。
壓縮表允許以下操作:
Single-row or array inserts and updates 單行或多行插入和更新。

特點:

  • 使用基本壓縮,只有當數據是直接路徑插入或更新記錄(direct-path insert and updated )時才會發生壓縮。
  • 并且支持有線的數據類型和SQL操作。


建立測試表

create table t_compress1(a number,b number,c number) compress pctfree 0;


生成測試數據

insert /*+ append*/ into t_uncompress select 
rownum,mod(rownum,10000),mod(rownum,3) from 
all_objects,all_objects where rownum<300000;


直接路徑插入

insert /*+ append*/ into t_compress1 select * from t_uncompress order by a;


普通方法插入

insert into t_compress4 select * from t_uncompress order by c;


查看各壓縮列(order by)的壓縮率

select table_name,round((blocks-EMPTY_BLOCKS)/(select 
blocks-EMPTY_BLOCKS from user_tables where 
table_name=T_UNCOMPRESS)*100,2) pct from user_tables where 
table_name like %T_COMPRESS%;

由此看出,order by(壓縮列)的列不同會導致壓縮率的不同,這里是B壓縮列壓縮率最高。


查看數據分布情況

select column_name,NUM_NULLS,NUM_DISTINCT,AVG_COL_LEN from user_tab_columns where table_name=T_UNCOMPRESS;


結論

8.1 選擇性較低、長度較大的列作為壓縮列會得到較高的壓縮率
如果列是選擇性很高,則根據該列壓縮沒有意義,甚至可能壓縮后占用空間比不壓縮更高。
如果不指定order by,oracle會自動選擇一個合適的列作為壓縮列,但壓縮率不一定是最高的。
8.2 普通的DML不會壓縮數據
只有以下情況才會對數據進行壓縮:
o insert /*+ append * /
o create table as select
o direct path loads
o moves



本文作者:楊 浩(上海新炬王翦團隊)

本文來源:“IT那活兒”公眾號

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129164.html

相關文章

  • 深度習之圖像視頻壓縮技術

    摘要:目前,其已經在人臉識別等領域證明了它的強大能力,有理由相信在不久的將來,深度學習技術將為圖像視頻壓縮領域帶來更大的突破。 說到圖像壓縮算法,最典型的就是JPEG、JPEG2000等。showImg(https://segmentfault.com/img/bV1ObD?w=539&h=412); 其中JPEG 采用的是以離散余弦轉換(Discrete Cosine Transform)...

    Salamander 評論0 收藏0
  • python標準庫習之zipfile模塊

    摘要:模塊里有兩個非常重要的分別是和。返回一個對象,它包括文件的詳細信息。將文檔內的指定文件解壓到當前目錄。為文件路徑,為添加到文檔之后保存的名稱參數表示壓縮方法,它的值可以是或。預留字段,當前實現總是返回。 ZipFile模塊里有兩個非常重要的class, 分別是 ZipFile和ZipInfo。ZipFile是主要的類,用來創建和讀取zip文件,而ZipInfo是存儲的zip文件的每個文...

    Magicer 評論0 收藏0
  • 基礎算法習之(三):堆排序

    摘要:奇妙的記憶點不穩定內排序基本思想分為兩步建堆與維持堆的性質首先我們要先理解堆是什么東西堆其實就是一個完全二叉樹我們可以使用順序表存儲一個二叉樹如下圖所示來存儲其中分為最大堆最小堆而最大堆就是上頭大下頭小最小堆則反之明白了堆的定義我們就可以開 奇妙的記憶點: 不穩定 內排序 基本思想: 分為兩步,建堆與維持堆的性質,首先我們要先理解堆是什么東西.堆其實就是一個完全二叉樹,我們可以使用...

    mrli2016 評論0 收藏0

發表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<