mysql 临时表空间_mysql8 参考手册--临时表空间

本文详细介绍了MySQL 8.0中的临时表空间,包括会话临时表空间和全局临时表空间的使用、管理及配置。会话临时表空间在创建磁盘临时表时分配,会话断开时释放;全局临时表空间存储用户临时表的回滚段,服务器启动时重建。此外,还提到了相关系统变量和信息表的作用。
摘要由CSDN通过智能技术生成

InnoDB 使用会话临时表空间和全局临时表空间。

会话临时表空间

会话临时表空间存储用户创建的临时表和当InnoDB配置为磁盘内部临时表的存储引擎时由优化器创建的内部临时表。从MySQL 8.0.16开始,用于磁盘内部临时表的存储引擎始终为InnoDB。(以前,存储引擎由的值确定 internal_tmp_disk_storage_engine。)

在创建磁盘临时表的第一个请求上,会话临时表空间从临时表空间池分配给会话。最多为一个会话分配两个表空间,一个用于用户创建的临时表,另一个用于由优化程序创建的内部临时表。分配给会话的临时表空间用于该会话创建的所有磁盘上的临时表。当会话断开连接时,其临时表空间将被截断并释放回池中。启动服务器时,将创建10个临时表空间的池。池的大小永远不会缩小,并且表空间会根据需要自动添加到池中。在正常关闭或初始化中止时,将删除临时表空间池。会话临时表空间文件在创建时大小为5页,并且具有.ibt 文件扩展名。

为会话临时表空间保留了40万个空间ID。因为每次启动服务器时都会重新创建会话临时表空间池,所以在关闭服务器时,会话临时表空间的空间ID不会保留,并且可以重新使用。

该innodb_temp_tablespaces_dir 变量定义创建会话临时表空间的位置。默认位置是 #innodb_temp数据目录中的目录。如果无法创建临时表空间池,则拒绝启动。

shell>cd BASEDIR/data/#innodb_temp

shell>ls

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

在基于语句的复制(SBR)模式下&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值