成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Oracle基礎(chǔ)學(xué)習(xí)之表壓縮

IT那活兒 / 3602人閱讀
Oracle基礎(chǔ)學(xué)習(xí)之表壓縮

點擊上方“IT那活兒”公眾號,關(guān)注后了解更多內(nèi)容,不管IT什么活兒,干就完了?。?!


背景介紹

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

特點:

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


建立測試表

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


生成測試數(shù)據(jù)

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(壓縮列)的列不同會導(dǎo)致壓縮率的不同,這里是B壓縮列壓縮率最高。


查看數(shù)據(jù)分布情況

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


結(jié)論

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



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

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

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/129164.html

相關(guān)文章

  • 深度學(xué)習(xí)之圖像視頻壓縮技術(shù)

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

    Salamander 評論0 收藏0
  • python標(biāo)準(zhǔn)庫學(xué)習(xí)之zipfile模塊

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

    Magicer 評論0 收藏0
  • 基礎(chǔ)算法學(xué)習(xí)之(三):堆排序

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

    mrli2016 評論0 收藏0

發(fā)表評論

0條評論

IT那活兒

|高級講師

TA的文章

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