innodb分为共享和独立表空间。
alter table TableName engine=innodb
通过这条命令可以回收表空间。
但因是共享表空间,不是独立表空间,这样操作可以回收数据空间,而不是磁盘空间。
一个书柜的例子:
书柜上的书摆放的很凌乱,此时你把书都整理好了,缩小了书柜里的位置,但书柜还是那个尺寸,不能因为把书弄整齐了,书柜也缩小了,那是不可能的。
而独立表空间是:有多少书就放多大尺寸的书柜里。
alter table TableName engine=innodb
通过这条命令可以回收表空间。
但因是共享表空间,不是独立表空间,这样操作可以回收数据空间,而不是磁盘空间。
一个书柜的例子:
书柜上的书摆放的很凌乱,此时你把书都整理好了,缩小了书柜里的位置,但书柜还是那个尺寸,不能因为把书弄整齐了,书柜也缩小了,那是不可能的。
而独立表空间是:有多少书就放多大尺寸的书柜里。
它既可以回收数据空间,也可以回收磁盘空间。
本文转自 liang3391 51CTO博客,原文链接:http://blog.51cto.com/liang3391/729807