临时表空间: 用来保存用户创建的临时表和磁盘内部的临时表, 从 mysql5.7 开始 模式采用独立表空间,之前都是放在系统表空间 ibdata1中

select @@innodb_temp_data_file_path;

在这里插入图片描述

ibtmp 存放在 mysql安装目录中,模式是12M,我们在使用的时候一定要给临时表空间设置一个最大的增长限制。在查询就会失败,报空间已满

show  variables like 'tmp_table_size';

查看临时表空间的大小 ,一旦该大小超过内存当中的表时,它就会转成磁盘上的表
在这里插入图片描述

show status like '%tmp%';

监控临时表的使用情况:

在这里插入图片描述

Created_tmp_disk_tables :超过内存限制, 写到磁盘的临时表
Created_tmp_files: 内存当中的临时表
Created_tmp_tables:临时表

Created_tmp_disk_tables /Created_tmp_tables > 25% 不要大于25% ,大于的话 需要调整下参数 ,往磁盘写的数量比较大的话,说明临时表空间大小设置的不合理,需要手动调整。

另外当 ibtmp1 临时表空间占用比较大的话 ,可以考虑重启mysql示例来减少磁盘占用空间

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐