mysql数据库命中率_Oracle数据库关于命中率的查询语句总结

1) Library Cache的命中率公式:Library Cache Hit Ratio=SUM(PINHITS)/SUM(PINS)SELECT SUM(PINHITS)/SUM(PINS) FROM V$LIBRAR

1) Library Cache的命中率

公式:Library Cache Hit Ratio=SUM(PINHITS)/SUM(PINS)

SELECT SUM(PINHITS)/SUM(PINS) FROM V$LIBRARYCACHE;

命中率不能低于99%,,否则需要考虑是否受共享池大小,绑定变量,cursor_sharing等因素的影响。

SELECT NAME,VALUE FROM V$PARAMETER WHERE

2) Shared Pool的使用率

公式:Shared Pool Hit Ratio=(100-Free memory/shared_pool_size*100)%

如果数据库采用AMM方式管理内存使用以下语句获取Shared Pool大小:

SELECT POOL,ROUND(SUM(BYTES)/1024/1024,2) FROM V$SGASTAT where POOL='shared pool' group by POOL;

如果是采取Manual方式管理内存则:

SELECT NAME,VALUE FROM V$PARAMETER WHERE;

查询1:

SELECT 100 - ROUND((SELECT ROUND(SUM(BYTES) / 1024 / 1024, 2) BYTES

FROM V$SGASTAT

WHERE NAME = 'free memory'

AND POOL = 'shared pool'

GROUP BY POOL) / ROUND(SUM(BYTES) / 1024 / 1024, 2),

4) * 100 || '%' RATIOS

FROM V$SGASTAT

where POOL = 'shared pool'

GROUP BY POOL

查询2:

SELECT 100 - ROUND(B.BYTES / ROUND(SUM(A.BYTES) / 1024 / 1024, 2),4)*100 || '%' RATIOS

FROM V$SGASTAT A,

(SELECT POOL,ROUND(SUM(BYTES) / 1024 / 1024, 2) BYTES

FROM V$SGASTAT

WHERE NAME = 'free memory' AND POOL='shared pool' GROUP BY POOL) B

where A.POOL = 'shared pool' GROUP BY B.BYTES,A.POOL

共享池使用率应稳定在75%-90%间,过小则浪费,过大说明内存不足或语句重用性不高。

本文永久更新链接地址:

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值