直接路徑讀取對於延遲塊清除的影響

2021-09-20 20:56:17 字數 721 閱讀 4644

在oracle 11g版本中序列的全表掃瞄可能使用直接路徑讀取(direct path read)的方式取代之前版本中一直使用的db file scattered read, 顯然direct path read具備更多的優勢: 1. 減少了對栓的使用,避免可能的栓爭用 2.物理io的大小不再取決於buffer_cache中所存在的塊;試想某個8個塊的extent中1,3,5,7號塊在快取記憶體中,而2,4,6,8塊沒有被快取,傳統的方式在讀取該extent時將會是對2,4,6,8塊進行4次db file sequential read,這是一種十分可怕的狀況,其效率往往要比單次讀取這個區間的所有8個塊還要低得多,雖然oracle為了避免這種情況總是盡可能的不快取大表的塊(讀入後總是放在佇列最冷的一端);而direct path read則可以完全避免這類問題,盡可能地單次讀入更多的物理塊。 當然直接路徑讀取也會引入一些缺點: 1.在直接路徑讀取某段前需要對該物件進行一次段級的檢查點(a segment checkpoint). 2.可能導致重複的延遲塊清除操作(我們假設你了解delayed block cleanout是什麼). metalink 文件

[id 793845.1]

對該新版本中的變化進行了描述:

oracle server - enterprise edition - version: 11.1.0.6 to 11.1.0.7 this problem can occur on any platform.after

延雲YDB相對於Mdrill的優勢

索引儲存在hdfs中。硬體損壞 資料與任務自動遷移無須人工干預。原先需要數小時的索引遷移恢復時間 資料時效性提高 由原先的幾小時到現在的幾分鐘 每天資料增量由離線幾十億到現在的實時匯入千億。總資料量由百億到現在的萬億規模。簡化部署與運維成本 配置檔案也簡潔很多。更穩定 修正在某些場景下mdrill裡...

ORACLE直接路徑操作

總結 直接路徑插入直接在高水位線以外分配空間,繞過了資料緩衝區,直接將資料插入進表所在資料檔案中。直接路徑插入不產生redo 資料庫處於noarchivelog模式下插入或者nologging屬性的 上插入 和undo log,依賴高水點實現回滾。資料庫日誌模式 直接路徑插入結束的時候oracle會...

Oracle直接路徑載入

oracle提供兩種型別的插入語句 常規插入 conventional insert 和直接路徑插入 direct path insert 直接路徑插入的目的是為了高效地載入大量的資料,它以犧牲部分功能為代價,因此受到很多的限制。1.直接路徑載入的效能 直接路徑載入把資料直接插入到要修改的段的高水位...