Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL,删除inno表不会减少表大小_Mysql_Innodb - Fatal编程技术网

MySQL,删除inno表不会减少表大小

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

我有一张innodb桌子,桌子很大(大约7GB), 我已经删除了大约80%的行, 问题是表大小保持不变

innodb_file_per_表处于打开状态

如何缩小表格大小以反映实际情况并节省更多磁盘空间?

这取决于

如果您使用
innodb\u file\u per\u table=ON
构建了表,那么现在就可以执行
优化表了。(确保它仍处于
打开状态

如果
=OFF
,则该表位于表空间文件
ibdata1
中,将空间返回操作系统的唯一方法是转储所有表,删除ibdata1,然后重新加载转储。这既乏味又危险。同时,
删除所创建的可用空间将被未来的
插入所使用

更多的大删除。

已在此处回答: