sql - In Oracle what does 'Buffer Gets' actually refer to? -


i'm dealing oracle dba @ moment, has sent me profiling he's done. 1 of terms in report 'buffer gets', idea means? guess bytes retrieved buffer, have no idea really. here sample output:

  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 tableexample fieldone = 'example' 

it handy know 'gets per exec' means, guess related? i'm programmer, not dba.

oracle storage arranged blocks of given size (e.g. 8k). tables , indexes made of series of blocks on disk. when these blocks in memory occupy buffer.

when oracle requires block buffer get. first checks see if has block needs in memory. if so, in-memory version used. if not have block in memory read disk memory.

so buffer represents number of times oracle had access block. reads have been satisfied either memory (the buffers) or have resulted in physical io.

since physical io expensive (compared memory or cpu) 1 approach tuning concentrate on reduction in buffer gets assumed flow on reduce physical io.


Comments

Popular posts from this blog

c++ - How do I get a multi line tooltip in MFC -

asp.net - In javascript how to find the height and width -

c# - DataTable to EnumerableRowCollection -