数据库的磁盘总量全程并没有变化, 而磁盘总量会逐渐增长, 增长1G左右, 而后又会降下来
这段时间到底发生了什么呢?...限制后, MySQL 会使用 mmap 机制, 将一部分磁盘映射作为内存使用, 这个过程中磁盘使用量会上升。...达到 temptable_max_mmap 限制后, MySQL 会将内存临时表转换成磁盘临时表(引擎为 InnoDB 或 MyISAM )....(我们在实验中将 temptable_max_ram 设置为1G)
SQL 结束后, 临时表会被清理, 这个过程中, 磁盘使用量会下降
我们重新做一次这个实验, 研究一下怎么观察这个过程:
?...可以看到: 通过 mmap 分配的空间的两个特点:
其分配的区域大小会逐步翻倍
其对应了一个已经删除的文件
当达到 temptable_max_mmap 限制后, 内存临时表会转换为磁盘临时表 (InnoDB