时间:2021-07-01 10:21:17 帮助过:10人阅读
一 简介: 来聊聊关于临时表文件暴涨的相关厂家
二 分析:
1 mysql5.7已经可以设置单独的临时表目录,默认放置在数据目录,文件名为ibtmp1
2 ibtmp1文件磁盘占用无法被释放,除非重启实例
三 影响语句
1 显示创建的临时表
2 DDL 的更改列等copy方式的操作,需要拷贝数据到临时表中
3 select 查询语句应用到临时表的类型
注意 1 select 查询语句会先应用tmp_table_szie(内存分配)的量,当临时存储的量超过这个参数限制是,就会在ibtmp1中申请占用空间
2 select union all语句已进行了优化,不会利用临时表空间了
3 可能类型
1 select order by group by GROUP BY 无索引字段或GROUP BY+ ORDER BY 的子句字段不一样时
2 select (select) 子查询
3 insert into select ...from ... 表数据复制
4 select union select 联合语句
四 总结
如果你的磁盘很小,一点要注意ibtmp1文件的大小,优化慢查询,减少大表的copy操作
mysql案例~ ibtmp1临时表空间暴涨问题
标签:无法 分配 union all 目录 sele 空间 简介 rom sel