暂无图片
mysql临时表空间问题
我来答
分享
小北
2024-10-21
mysql临时表空间问题

mysql临时表空间问题:

mysql> show variables like '%innodb_temp%';
+-----------------------------+-----------------------+
| Variable_name | Value |
+-----------------------------+-----------------------+
| innodb_temp_data_file_path | ibtmp1:12M:autoextend |
| innodb_temp_tablespaces_dir | ./#innodb_temp/ |
+-----------------------------+-----------------------+
2 rows in set (0.00 sec)


请问ibtmp1和'#innodb_temp'中:

temp_10.ibt temp_2.ibt temp_4.ibt temp_6.ibt temp_8.ibt
temp_1.ibt temp_3.ibt temp_5.ibt temp_7.ibt temp_9.ibt

同样是临时文件,区别是什么?

谢谢!

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
周波

  前者为全局临时表空间,后者为会话临时表空间。
  会话临时表空间:数据库启动时默认会在innodb_temp_tablespaces_dir参数指定的目录中创建10个会话临时表空间,这就是临时表空间池。当会话在磁盘上创建临时表时,会从临时表空间池中为会话分配临时表空间,当会话断开连接时,临时表空间会被截断并释放会临时表空间池。该池永不会被收缩,但会按需自动增加。会话临时表空间文件大小为5个页面,后缀为.ibt;临时表空间池在正常关机或初始化异常时被删除。
  全局临时表空间:全局临时表空间(ibtmp1)存储了对用户创建的临时表所做更改的回滚段。全局临时表空间在正常关机或初始化中止时被删除,并在每次服务器启动时重新创建。如果服务器意外停机,不会删除全局临时表空间。此时,数据库管理员可以手动删除全局临时表空间或重启MySQL服务器。重启MySQL服务器会自动删除并重新创建全局临时表空间。

暂无图片 评论
暂无图片 有用 2
打赏 0
暂无图片
回答交流
Markdown


请输入正文
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏