Oracle高水位線HWM

說到HWM,我們首先要簡要的談?wù)凮RACLE的邏輯存儲管理。我們知道负溪,ORACLE在邏輯存儲上分4個粒度: 表空間济炎,段,區(qū)和塊崖堤。

擴展閱讀:Oracle邏輯存儲管理介紹

  1. 塊(Oracle數(shù)據(jù)塊)

塊是Oracle粒度最小的存儲單位耐床,不同于操作系統(tǒng)磁盤塊,現(xiàn)在標(biāo)準(zhǔn)的Oracle塊大小是8K胯甩,ORACLE每一次I/O操作也是按塊來操作的堪嫂,也就是說當(dāng)ORACLE從數(shù)據(jù)文件讀數(shù)據(jù)時,是讀取多少個塊淹办,而不是多少行恶复。

  1. 區(qū)

由一系列相鄰的塊而組成,這也是ORACLE空間分配的基本單位塔插,舉個例子來說拓哟,當(dāng)我們創(chuàng)建一個表PM_USER時伶授,首先ORACLE會分配一區(qū)的空間給這個表,隨著不斷的INSERT數(shù)據(jù)到PM_USER违诗,原來的這個區(qū)容不下插入的數(shù)據(jù)時疮蹦,ORACLE是以區(qū)為單位進行擴展的拜隧,也就是說再分配多少個區(qū)給PM_USER壁公,而不是多少個塊紊册。 一張表由若干區(qū)組成快耿,這些區(qū)可以是不相鄰的。

是由一系列的區(qū)所組成掀亥,一般來說,當(dāng)創(chuàng)建一個對象時(表遏片,索引)鳍侣,就會分配一個段給這個對象。所以從某種意義上來說线衫,段就是某種特定的數(shù)據(jù)惑折。如CREATE TABLE PM_USER,這個段就是數(shù)據(jù)段白热,而CREATE INDEX ON PM_USER(NAME)粗卜,ORACLE同樣會分配一個段給這個索引,但這是一個索引段了攻臀。查詢段的信息可以通過數(shù)據(jù)字典: SELECT * FROM USER_SEGMENTS來獲得刨啸, 通俗的講识脆,一張表對應(yīng)一個段善已。

  1. 表空間

包含段换团,區(qū)及塊粘招。表空間的數(shù)據(jù)物理上儲存在其所在的數(shù)據(jù)文件中,一個數(shù)據(jù)庫至少要有一個表空間(SYSTEM)辑甜。一個表空間可能會保存在多個數(shù)據(jù)文件中袍冷。

HWM

在Oracle數(shù)據(jù)的存儲中,可以把存儲空間想象為一個水庫邓线,數(shù)據(jù)想象為水庫中的水煌恢。水庫中的水的位置有一條線叫做水位線,在Oracle中你雌,這條線被稱為高水位線(High-warter mark二汛, HWM)。

ORACLE用HWM來界定一個段中使用過的塊和未使用的塊氓栈。

在數(shù)據(jù)庫表剛建立的時候婿着,由于沒有任何數(shù)據(jù),所以這個時候水位線是空的提完,也就是說HWM為最低值。當(dāng)插入了數(shù)據(jù)以后挡篓,HWM就會上漲帚称,但是這里也有一個特性闯睹,就是采用delete語句刪除數(shù)據(jù)的話担神,數(shù)據(jù)雖然被刪除了,但是HWM卻沒有降低孩锡,還是刪除數(shù)據(jù)以前那么高的水位亥贸。

如果該表所在的表空間還有空閑,則新insert的記錄不會覆蓋之前delete的記錄荣挨,而是會在新的位置插入朴摊,從而提升HWM。也就是說口锭,HWM在日常的增刪操作中只會上漲贩疙,不會下跌。

Oracle中Select語句會對表中的數(shù)據(jù)進行一次掃描这溅,但是究竟掃描多少數(shù)據(jù)存儲塊呢悲靴,這個并不是說數(shù)據(jù)庫中有多少數(shù)據(jù),Oracle就掃描這么大的數(shù)據(jù)塊耸三,而是Oracle會掃描高水位線以下的數(shù)據(jù)塊。

這樣仪壮,頻繁insertdelete的臨時表胳徽,由于水線的提升爽彤,查詢逐漸變慢就不奇怪了适篙。

重置HWM

在ORACLE中箫爷,執(zhí)行對表的delete操作不會降低該表的高水位線。而全表掃描將始終讀取一個段中所有低于HWM的塊硫痰。如果在執(zhí)行刪除操作后不降低高水位線標(biāo)記翁都,則將導(dǎo)致查詢語句的性能低下。

那有沒有辦法讓高水位線下降呢柄慰,比較簡單的方法是采用TRUNCATE語句進行刪除數(shù)據(jù)坐搔。采用TRUNCATE語句刪除一個表的數(shù)據(jù)的時候,類似于重新建立了表蠢挡,不僅把數(shù)據(jù)都刪除了凳忙,還把HWM給清空恢復(fù)為0。所以如果需要把表清空涧卵,在有可能利用TRUNCATE語句來刪除數(shù)據(jù)的時候就利用TRUNCATE語句來刪除表柳恐,特別是那種數(shù)據(jù)量有可能很大的臨時存儲表。

下面的方法都可以降低高水位線標(biāo)記讼庇。

幾種重置HWM的方法

  1. MOVE表

MOVE表要求表空間剩余2倍當(dāng)前表大小近尚,且MOVE后需要重建索引。

  1. SHRINK表

注意歼跟,此命令為Oracle 10g新增功能,執(zhí)行該指令之前必須允許行移動alter table table_name enable row movement;

  1. 復(fù)制要保留的數(shù)據(jù)到臨時表t嘹承,drop原表叹卷,然后rename臨時表t為原表

  2. alter table table_name deallocate unused

  3. truncate

https://www.cnblogs.com/shoshana-kong/p/9209345.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末骤竹,一起剝皮案震驚了整個濱河市往毡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌懒震,老刑警劉巖个扰,帶你破解...
    沈念sama閱讀 219,366評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件葱色,死亡現(xiàn)場離奇詭異,居然都是意外死亡办龄,警方通過查閱死者的電腦和手機淋昭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評論 3 395
  • 文/潘曉璐 我一進店門响牛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人矢赁,你說我怎么就攤上這事×靡” “怎么了?”我有些...
    開封第一講書人閱讀 165,689評論 0 356
  • 文/不壞的土叔 我叫張陵够庙,是天一觀的道長抄邀。 經(jīng)常有香客問我,道長境肾,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,925評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮环鲤,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘冷离。我一直安慰自己,他們只是感情好桦锄,可當(dāng)我...
    茶點故事閱讀 67,942評論 6 392
  • 文/花漫 我一把揭開白布结耀。 她就那樣靜靜地躺著匙铡,像睡著了一般。 火紅的嫁衣襯著肌膚如雪黑毅。 梳的紋絲不亂的頭發(fā)上矿瘦,一...
    開封第一講書人閱讀 51,727評論 1 305
  • 那天愿卒,我揣著相機與錄音,去河邊找鬼易结。 笑死搞动,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的矗烛。 我是一名探鬼主播箩溃,決...
    沈念sama閱讀 40,447評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了开泽?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,349評論 0 276
  • 序言:老撾萬榮一對情侶失蹤穆律,失蹤者是張志新(化名)和其女友劉穎峦耘,沒想到半個月后旅薄,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,820評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡洛口,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,990評論 3 337
  • 正文 我和宋清朗相戀三年第焰,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片挺举。...
    茶點故事閱讀 40,127評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡湘纵,死狀恐怖滤淳,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情伤柄,我是刑警寧澤,帶...
    沈念sama閱讀 35,812評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站笔喉,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏作谭。R本人自食惡果不足惜折欠,卻給世界環(huán)境...
    茶點故事閱讀 41,471評論 3 331
  • 文/蒙蒙 一吼过、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧盗忱,春花似錦酱床、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,017評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至闲昭,卻和暖如春揍堕,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背汤纸。 一陣腳步聲響...
    開封第一講書人閱讀 33,142評論 1 272
  • 我被黑心中介騙來泰國打工衩茸, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人贮泞。 一個月前我還...
    沈念sama閱讀 48,388評論 3 373
  • 正文 我出身青樓楞慈,卻偏偏與公主長得像,于是被迫代替她去往敵國和親啃擦。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,066評論 2 355