1. 首页
  2. 数据库
  3. MySQL
  4. MySQL删除数据,表文件大小依然没变的原因

MySQL删除数据,表文件大小依然没变的原因

上传者: 2021-08-29 04:33:36上传 PDF文件 280.42 KB 热度 15次

对于运行很长时间的数据库来说,往往会出现表占用存储空间过大的问题,可是将许多没用的表删除之后,表文件的大小并没有改变,想解决这个问题,就需要了解 InnoDB 如何回收表空间的。对于一张表来说,占用空间重要分为两部分,表结构和表数据。所以空间的问题主要和表数据有关。在 MySQL 8.0 前,表结构存储在以 .frm 为后缀的文件里。在 8.0,允许将表结构定义在系统数据表中。可以将表数据存在共享表空间,或者单独的文件中,通过。比如想要删除 R4 这条记录:InnoDB 直接将 R4 这条记录标记为删除,称为可复用的位置。这时因为,重建的这张表本身没有空隙,在 DDL 期间,刚好有一些 DML 执行,引入了一些新的空隙。

用户评论