非空閒等待事件之:db file scattered read(轉)
>> MBRC因子不能跨越整個區,如果一個區包含10個塊,MBRC因子=8,那麼多塊讀取會發布兩次讀取呼叫,一次8個資料塊,一次2個資料塊。 >> 要讀取的多塊有,有一部分已在CACHE中,這時多塊讀取操作被分化成幾次來完成。
>> 區邊界:當某個區中的最後一組塊只有一個塊時,ORALCE使用單塊讀取呼叫取出這個塊。這通常不是一個問題,除非區尺寸過小。 >> 存在較多的連結的或遷移的行。ORALCE使用單塊I/O呼叫尋求每個連結的或遷移的行。在DBA_TABLES檢視中檢查表的CHAIN_CNT,如果該值較大,需要重新組織表(匯入/匯出或alter table move)。 >> 索引條目的建立。如在使用insert into table_A select * from table_B,如果table_A上有一個索引,在執行該語句時,會產生很多db sequential read事件,這是將索引塊讀入SGA中的結果。
alter session set db_file_multiblock_read_count=1000; -- 設定一個高得離譜的MBRC因子 select /*+ full(a) */ count(*) from big_table a; -- 進行全域性掃描 結果:透過捕獲10046事件,從生成的Trace檔案中獲得的P3的值就是最佳MBRC因子,以下是針對計程車系統,看來最佳的MBRC因子是64。 WAIT #1: nam='db file scattered read' ela= 48518 p1=12 p2=10 p3=64 WAIT #1: nam='db file scattered read' ela= 42922 p1=12 p2=74 p3=64 WAIT #1: nam='db file scattered read' ela= 41369 p1=12 p2=138 p3=64 WAIT #1: nam='db file scattered read' ela= 42752 p1=12 p2=202 p3=64
>> 該語句是否應該透過全表掃描或索引FFS訪問資料? >> 索引掃描或唯一掃描是否更為有效? >> 查詢是否使用了正確的驅動表? >> SQL謂詞是否適合於雜湊或合併聯接? >> 如果全表掃描是合適的,並行查詢是否可以改進響應時間?
在ORACLE10g中,表監控預設是啟動的。
>> 以v$sesstat檢視作為查詢物件的示例: select a.SID, b.name, a.VALUE 注:以此查詢可以粗略知道系統中大約什麼會話出現很多的表掃描。 >> 以v$session_event為基礎的查詢: select a.sid,
select hash_value,
事件號:188 事件名:db file scattered read 引數一:讀取塊的檔案號碼file# 引數二:起始塊號block# 引數三:讀取的塊總數blocks 由引數P1與P2推得訪問的資料物件: select s.segment_name, s.partition_name
|
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/751371/viewspace-564925/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 非空閒的等待事件-db file scattered read事件
- db file scattered read等待事件事件
- 【等待事件】db file scattered read事件
- 【TUNE_ORACLE】等待事件之IO等待“db file scattered read”Oracle事件
- 事件:db file scattered read事件
- 等待事件db file sequential read、db file scattered read和direct read的區別事件
- 等待事件--db file scattered reads事件
- db file scattered read與事件db file sequential read相類似(轉)事件
- 非空閒等待事件事件
- db file sequential read等待事件事件
- 【等待事件】db file sequential read事件
- Oracle:db file scattered readOracle
- 解決db file sequential read與db file scattered read
- 【TUNE_ORACLE】等待事件之IO等待“db file sequential read”Oracle事件
- 【指令碼】快速排除空閒等待事件得到敏感的非空閒等待事件指令碼事件
- 詳解 db file sequential read 等待事件事件
- oracle之 db file sequential read等待事件優化思想Oracle事件優化
- 找出導致db file scattered read等待事件發生的SQL及其執行計劃事件SQL
- oracle等待事件1分別用表和索引上資料的訪問來產生db file scattered read等待事件Oracle事件索引
- tatspack之十二-db file scattered read-DB檔案分散讀取
- 0322理解db file parallel read等待事件2Parallel事件
- 0316理解db file parallel read等待事件Parallel事件
- 何時會發生db file sequential read等待事件?事件
- db file sequential read wait event等待事件之二AI事件
- Oracle 空閒等待事件Oracle事件
- 【TUNE_ORACLE】等待事件之IO等待“db file parallel write”Oracle事件Parallel
- oracle等待事件2構造一個DB File Sequential Read等待事件和構造一個Direct Path ReadOracle事件
- 【kingsql分享】何時出現生db file sequential read等待事件SQL事件
- 等待事件--db file sequential reads事件
- control file sequential read等待事件事件
- db file sequential read事件的發生事件
- [20210315]理解db file parallel read等待事件3.txtParallel事件
- [20210315]理解db file parallel read等待事件4.txtParallel事件
- 閒聊oracle SQL*Net相關的空閒等待事件OracleSQL事件
- db file async I/O submit 等待事件優化MIT事件優化
- db file async I/O submit 等待事件說明MIT事件
- Oracle db file parallel write 和 log file parallel write 等待事件 說明OracleParallel事件
- 【TUNE_ORACLE】等待事件之IO等待“direct path read”Oracle事件