Mysql RDS InnoDB RAM使用问题
我在生产环境中长期使用AWS RDS。 我开始监控它的内存使用情况,尤其是InnoDB统计数据 几乎整个缓冲池都满了,但我知道我创建的索引并没有那么大。数据库有32GB的RAM。MySQL版本5.7.22 在进一步挖掘之后,我发现SYS_TABLES表中的CLUST_IND index使用了大量页面,并且页面类型未知。我想知道是否有什么可以做的来清理它?如有任何建议,将不胜感激 查询:Mysql RDS InnoDB RAM使用问题,mysql,innodb,amazon-rds,Mysql,Innodb,Amazon Rds,我在生产环境中长期使用AWS RDS。 我开始监控它的内存使用情况,尤其是InnoDB统计数据 几乎整个缓冲池都满了,但我知道我创建的索引并没有那么大。数据库有32GB的RAM。MySQL版本5.7.22 在进一步挖掘之后,我发现SYS_TABLES表中的CLUST_IND index使用了大量页面,并且页面类型未知。我想知道是否有什么可以做的来清理它?如有任何建议,将不胜感激 查询: select table_name as Table_Name, index_name as Index_Na
select
table_name as Table_Name, index_name as Index_Name,
count(*) as Page_Count, sum(data_size)/1024/1024 as Size_in_MB
from information_schema.innodb_buffer_page
group by table_name, index_name
order by Size_in_MB desc;
结果:
information_schema.innodb_sys_tables是系统中所有表的内部列表。不要弄乱它。不要担心它的空间使用。CLUST_IND是一个人工主键
至少在MySQL 5.6的情况下,它不会占用磁盘空间;它在RAM中。而且实际上并不需要4093MB。对于某些系统表来说,这种计算是虚假的,比如这个
你们有几千张桌子吗?如果是这样,考虑你是否需要所有这些。每个都在系统表中占用了一点空间
缓冲池是一个缓存,所以大部分时间几乎都是满的是正常的。多满与否无关。问题与stackoverflow无关,或者至少在灰色区域,请重新询问或联系亚马逊支持部门。。