匿名用户mysql中如何查看当前的脏页比例和脏页总大小(多少mb),5.7版本
在MySQL中,你可以使用以下SQL查询来查看当前的脏页比例和脏页总大小:
```sql
SELECT
ROUND((Pages_dirty / Total_pages) * 100, 2) AS 'Dirty Pages Ratio',
ROUND((Pages_dirty * 16 / 1024), 2) AS 'Dirty Pages Size in MB'
FROM
performance_schema.global_status
WHERE
Variable_name IN ('Innodb_buffer_pool_pages_dirty', 'Innodb_buffer_pool_pages_total');
```
这个查询会返回两个结果:
- `Dirty Pages Ratio`:当前脏页的比例(以百分比表示)
- `Dirty Pages Size in MB`:当前脏页的总大小(以MB表示)
请注意,这个查询仅适用于MySQL 5.7和更高版本,因为它使用了`performance_schema`数据库,这个数据库在MySQL 5.7中才被引入。
评论
有用 1查看脏页比例:
SELECT
ROUND((`innodb_buffer_pool_pages_dirty` / `innodb_buffer_pool_pages_total`) * 100, 2) AS dirty_pages_ratio
FROM
information_schema.innodb_buffer_pool_stats;
查看脏页总大小:
SELECT
CONCAT(ROUND(SUM(`data_length` + `index_length`) / 1024 / 1024, 2), ' MB') AS dirty_pages_size
FROM
information_schema.tables
WHERE
`engine` = 'InnoDB';
这将返回所有InnoDB表的数据和索引的总大小,以MB为单位,这是脏页的总大小。
请注意,在MySQL中,脏页是指已经被修改但尚未写回磁盘的缓冲页。这些页包含了已经被更新但还未持久化到磁盘的数据。
评论
有用 0
墨值悬赏

