等待事件db file sequential read、db file scattered read和direct read的區別

shenmingmingDBA發表於2020-04-28

 在DATABASE 的等待事件中有一組比較容易混淆的事件(相對於自己 ),它們是 DB file Sequential Read、DB file Scattered Read和Direct Path Read。它們之間有什麼聯絡和區別呢,首先它們都涉及到物理磁碟讀也就是從資料檔案中讀取資料。
物理讀的速度是評估 效能的重要因素, 對於全表掃描操作(table  full scan)來說快速的物理讀可以節省在I/O方面的消耗,而單塊讀就顯得捉襟見肘。
    接下來,闡述下它們在 DATABASE中相關的動作:
    1、 DB file Sequential Read  連續單塊讀等待 是一種常見的物理I/O等待事件,它的操作是將資料塊的讀取到 連續的 DB Buffer Cache記憶體中,常見在 通過index 的ROWID 讀取資料過程中
    2、
DB file Scattered Read 多塊讀等待是 發生在對錶做全表掃描或是排序(sort) 時,它的操作是將資料塊讀取分散的不連續的DB Buffer Cache記憶體當中
    3、
Direct Path Read   直接路徑讀是把資料直接讀取到PGA中的操作,而非是SGA中的DB Buffer cache中,主要發生在<1> 臨時表空間中做 大量資料排序時的,需要把排序結果讀取出來時 ,換句話說就是在排序的時候, <2>並行查詢資料時


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30166976/viewspace-2689063/,如需轉載,請註明出處,否則將追究法律責任。

相關文章