MySQL,删除inno表不会减少表大小
我有一张innodb桌子,桌子很大(大约7GB), 我已经删除了大约80%的行, 问题是表大小保持不变 innodb_file_per_表处于打开状态 如何缩小表格大小以反映实际情况并节省更多磁盘空间?这取决于 如果您使用MySQL,删除inno表不会减少表大小,mysql,innodb,Mysql,Innodb,我有一张innodb桌子,桌子很大(大约7GB), 我已经删除了大约80%的行, 问题是表大小保持不变 innodb_file_per_表处于打开状态 如何缩小表格大小以反映实际情况并节省更多磁盘空间?这取决于 如果您使用innodb\u file\u per\u table=ON构建了表,那么现在就可以执行优化表了。(确保它仍处于打开状态) 如果=OFF,则该表位于表空间文件ibdata1中,将空间返回操作系统的唯一方法是转储所有表,删除ibdata1,然后重新加载转储。这既乏味又危险。同时,
innodb\u file\u per\u table=ON
构建了表,那么现在就可以执行优化表了。(确保它仍处于打开状态
)
如果=OFF
,则该表位于表空间文件ibdata1
中,将空间返回操作系统的唯一方法是转储所有表,删除ibdata1,然后重新加载转储。这既乏味又危险。同时,删除所创建的可用空间将被未来的插入所使用
更多的大删除。已在此处回答: