当前位置: 代码迷 >> 综合 >> mysql truncate table 回收物理文件系统空间
  详细解决方案

mysql truncate table 回收物理文件系统空间

热度:20   发布时间:2023-12-19 16:20:03.0

前提:开启one table one file

innodb_file_per_table                 | ON    

###truncate table 前:

[root@localhost test]# ls -trl
-rw-r-----. 1 root root       8582        Aug 21 02:44 _t1_del.frm
-rw-r-----. 1 root root 1061158912  Aug 22 03:41 _t1_del.ibd
-rw-r-----. 1 root root       8582        Aug 22 23:47 t1.frm
-rw-r-----. 1 root root 2206203904  Sep  9 03:16  t1.ibd

 

###truncate table 操作

mysql [localhost:5724] {root} (test) > truncate table t1;
Query OK, 0 rows affected (0.69 sec)

mysql [localhost:5724] {root} (test) > truncate table t1;
Query OK, 0 rows affected (0.15 sec)

mysql [localhost:5724] {root} (test) > truncate table  _t1_del;

 

###truncate table 操作后:

t1,_t1_del表的物理大小还原到默认初始化大小:

[root@localhost test]# ls -trl
-rw-r-----. 1 root root   8582 Aug 21 02:44 _t1_del.frm
-rw-r-----. 1 root root   8582 Aug 22 23:47 t1.frm
-rw-r-----. 1 root root  98304 Sep  9 03:21 t1.ibd
-rw-r-----. 1 root root  98304 Sep  9 03:21 _t1_del.ibd
[root@localhost test]# 

[root@localhost test]# du -sm *
1       _t1_del.frm
1       _t1_del.ibd
1       t.frm
1       t.ibd
 

 

  相关解决方案