Oracle高水位High Water Mark(HWM)簡介

來源:互聯網
上載者:User

Oracle高水位High Water Mark(HWM)簡介

1.什麼是高水位

高水位是Oracle中使用和未使用空間中的邊界線,也可以理解為資料文間和非資料文間的分界線,但是這裡的資料檔案指代的是儲存過資料的資料檔案,而非僅僅是資料表中有資料的資料檔案。

2.高水位對於檢索的影響

假設我們有個表有2百萬行資料存放區在幾個區中,假如我們刪除一百萬條資料。儘管資料區中的資料沒有了,但是Oracle中佔用的區的資料空間仍然不變,與原來二百萬條資料佔用的資料空間是一樣的。當我們在資料庫中執行查詢時,Oracle仍會遍曆所有的資料區塊,即便這些資料區塊中沒有資料。從這個角度來說,高水位可以理解為已使用的資料區塊或資料區。

高水位下的資料區塊中至少有一塊是有資料的,當然這些資料也可能被刪除掉了。由於Oracle知道高水位上的資料區是沒有資料的,所以它在讀取資料時唯讀取到高水位線。正是這個原理,當資料庫中的表資料增大到一定的資料量時,如果將表中的資料移動到一個新的曆史表中,並將當前表中的資料清空,並不會提高當前資料表的檢索效率。因為資料的高水位沒有變。

如果資料庫中的大部分資料被刪除了,應該使用Shrink命令降低高水位,這樣才能提高資料的查詢效率。當然如果使用資料庫分區表也就是另外一種解決方案了。

Oracle 高水位線和全表掃描

Oracle 高水位(HWM: High Water Mark) 說明

www.bkjia.com/topicnews.aspx?tid=12

本文永久更新連結地址:

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.