MYSQL 5.7中临时文件的使用

使用临时文件
一、使用tmpdir
1、执行计划file sort    文件名字MY开头
lsof|grep delete
如:/tmp/MYdRH1GW (deleted)


2、大事物binary log缓存 文件名字ML开头
lsof|grep delete
如:/tmp/MLq9INFu (deleted)


3、压缩的tempory table  
CREATE TEMPORARY TABLE tmp_table1(id int) ROW_FORMAT=COMPRESSED ;
ls /tmp/
如:
#sql6b82_6_7.frm
#sql6b82_6_7.ibd


4、online DDL 涉及排序比如add key
alter table testsort add key(id);
lsof|grep delete
如:
/tmp/ibCxlYQg (deleted)
/tmp/ib51nvZ1 (deleted)
设置 innodb_tmpdir可以将这类文件放到指定的目录




二、使用innodb_temp_data_file_path
1、执行计划use temporay table 5.7以后为innodb 内部表
2、非压缩tempory table  
CREATE TEMPORARY TABLE tmp_table1(id int);
可以使用 select * from INNODB_TEMP_TABLE_INFO  ;查询
这些也看不到 表现为innodb表


三、使用innodb data 
就是online ddl 
1、ALGORITHM copy 名字为 #sql-
  alter table testsort ALGORITHM=copy ,add  im int  ;
#sql-6b82_6.frm
#sql-6b82_6.ibd


2、ALGORITHM inplace 名字为 #sql-ib 
  alter table test add key id int
比如
#sql-6b82_6.frm
#sql-ib59-867962583.ibd
但是涉及到排序比如add key 则使用tmpdir或者innodb_tmpdir见上

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值