zoukankan      html  css  js  c++  java
  • 查看数据库缓存大小

    我们都知道sqlserver存在缓存机制,那么我们要想知道到底缓存了哪些数据,每个库缓存了多大的数据?

    我们可以用一个DMV查看,sys.dm_os_buffer_descriptors

     select COUNT(*)*8 as KB,case database_id when 32767 then 'ResourceDb' else  DB_NAME(database_id) end dbname from sys.dm_os_buffer_descriptors 
     group by database_id

    这样的话我们可以看到每个数据库缓存的数据大小,同时我们也可以根据is_modified来判断每个库的修改比例

     select COUNT(*)*8/1000 as MB,DB_NAME(a.database_id),b.weigai,COUNT(*) 总数,100-(b.weigai*1.00/COUNT(*))*100 百分比
     from sys.dm_os_buffer_descriptors a left join 
     (select COUNT(*) weigai,database_id from sys.dm_os_buffer_descriptors 
     where is_modified=0
     group by database_id) b on a.database_id=b.database_id
     group by a.database_id ,b.weigai

    其中的百分比就是缓存数据修改的比例,如果百分比越接近0那说明这个库读操作越高

  • 相关阅读:
    SM2实现(利用openssl的evp)
    BouncyCastle的SM实践
    初步动态分析
    信安保障复习
    数据库实验3
    软件测试之测试用例设计题
    Spring SPI 机制总结
    Servlet与Netty横向对比
    被遮挡部分高亮
    (十一)Android环境变量设置
  • 原文地址:https://www.cnblogs.com/jinshaohua/p/5733350.html
Copyright © 2011-2022 走看看