• 查看数据库缓存大小


    我们都知道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那说明这个库读操作越高

  • 相关阅读:
    redis常用方法
    分享朋友圈、qq等思路及代码
    redis 使用例子
    redis使用实例应用
    js对象与jquery对象介绍
    h5网页跳转到小程序
    redis队列思路介绍
    redis队列思路分析
    php原生方法连接mysql数据库
    mysql 原生语句limit 分页
  • 原文地址:https://www.cnblogs.com/jinshaohua/p/5733350.html
Copyright © 2020-2023  润新知