1、查询表空间大小
例子:show table status where name='historymsg';
2、将某个数据库导出:
mysqldump -u用户名 -p 数据库名 > 数据库名.sql
3、导入某个数据库:
mysql -u用户名 -p 数据库名 < 数据库名.sql
4、删除数据后,物理空间未释放
现象:当您的库中删除了大量的数据后,您可能会发现数据文件尺寸并没有减小。
原因:这是因为删除操作后在数据文件中留下碎片所致。
解决办法:OPTIMIZE TABLE 是指对表进行优化。如果已经删除了表的一大部分数据,或者如果已经对含有可变长度行的表(含有 VARCHAR 、 BLOB 或 TEXT 列的表)进行了很多更改,就应该使用 OPTIMIZE TABLE 命令来进行表优化。这个命令可以将表中的空间碎片进行合并,并且可以消除由于删除或者更新造成的空间浪费 。OPTIMIZE TABLE 命令只对 MyISAM 、 BDB 和 InnoDB 表起作用 。表优化的工作可以每周或者每月定期执行,对提高表的访问效率有一定的好处,但是需要注意的是,优化表期间会锁定表,所以一定要安排在空闲时段进行。
示例:optimize table ad_visit_histor;
原理:当你删除数据 时,mysql并不会回收,被已删除数据的占据的存储空间,以及索引位。而是空在那里,而是等待新的数据来弥补这个空缺,这样就有一个缺少,如果一时半会,没有数据来填补这个空缺,那这样就太浪费资源了。所以对于写比较频烦的表,要定期进行optimize,一个月一次,看实际情况而定了。