溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發(fā)布時間:2020-08-11 22:47:53 來源:網絡 閱讀:806 作者:genuinecx 欄目:關系型數據庫

  1.什么是高水位


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


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


  假設我們有個表有2百萬行數據存儲在幾個區(qū)中,假如我們刪除一百萬條數據。盡管數據區(qū)中的數據沒有了,但是Oracle中占用的區(qū)的數據空間仍然不變,與原來二百萬條數據占用的數據空間是一樣的。當我們在數據庫中執(zhí)行查詢時,Oracle仍會遍歷所有的數據塊,即便這些數據塊中沒有數據。從這個角度來說,高水位可以理解為已使用的數據塊或數據區(qū)。


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


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

    




向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI