我現在正在處理Oracle DBA,他向我發送了一些他已完成的分析。他的報告中的一個術語是'緩衝區獲取',任何想法這實際上意味着什麼?我的猜測是從緩衝區檢索字節,但我真的不知道。下面是一些示例輸出:在Oracle中,'Buffer Gets'實際上指的是什麼?
Buffer Gets Executions Gets per Exec %Total Time (s) Time (s) Hash Value
--------------- ------------ -------------- ------ -------- --------- ----------
137,948,100 31,495 4,380.0 98.4 6980.57 6873.46 4212400674
Module: JDBC Thin Client
SELECT fieldOne, fieldTwo, fieldThree, fieldFour, fieldFive FROM TableExample
WHERE fieldOne = 'example'
這也將是很方便的知道的意思是「每Exec的獲取」什麼,我想他們有關係嗎?我是一名程序員,但不是DBA。
是 - 上補充,許多查詢成本模型幾乎完全集中在磁盤I/O,其緩衝得到的模型(不完美,但儘量接近它可以)。所以,這意味着一個簡單的成本函數 - 「這個查詢的代價是多少,忽略了CPU(反正它幾乎可以忽略不計)?」 – 2008-11-17 14:22:08
感謝您的非常好的回答,我唯一留下的問題是,對於上面的數據是137,948,100,對於稱爲31,495次的選擇查詢而言,高數量的緩衝區會得到什麼?這個數字可以表示像表掃描VS索引等東西嗎? – rustyshelf 2008-11-17 23:12:56