BUFFER CACHE之四:Cache Hit Ratio和缓冲池的问题

 

全表扫描,应用程序设计,随意查询大表,查询对象过于集中。

 

二、        命中率不是buffer cache性能优化的重中之重:

1.    设计糟糕的数据库可能有99%的命中率

2.    只是性能优化的一部分

3.    等待事件和SQL优化占主导。

有良好命中率的应用程序仍可能有很多不必要的物理读!

A程序:1000000逻辑读,10000物理读,命中率是99%

B程序:100逻辑读,仅有40次物理读,命中率是60%

AB,谁更优?

 

三、        增大Cache Size要考虑的条件顺序,切忌命中率一低就开始增加:

1.    等待事件是否调优?

2.    SQL语句是否调优?(SQL语句去看Sataspack >报告)

3.    是否有过多的分页错误(undue page faulting)?

4.    先前增加buffer cache的操作是否有效?

(无效就需慎重操作了,分类和并行读不需要缓冲池)

5.    还是低命中率(Low cable hit ratio)。

6.    决定增大缓冲池,且sga_max_size不大,用alter system增加keepdefaultrecycle

NOTE:命中率过高就需减少buffer cache

 

你可能感兴趣的:(cache,buffer,性能优化,sql,数据库,优化)