首页 > 精选文章 > 数据库开发 > 正文

mysql扩充单表容量

delete from table_name和delete from table_name where ...的结果不一样,不带条件的语句清空了表,myd文件大小为0;但是带条件的删除了整个表以后,myd和文件的大小不变。

究其原因:DELETE只是将数据标识为删除,并没有整理数据文件,当插入新数据后,会再次使用这些被置为删除标识的记录空间。

解决办法:

1.扩充单表容量
  先查看表的状态:show table status like 'table_name',然后修改表的容量:alter table_name   max_rows=2000000000000,avg_low_length=500000。

2.释放表空间
  执行   SHOW   TABLE   STATUS    
  返回的记录中有一个   Date_free   字段.它显示的是   MyISAM   的表浪费空间.  
  对于   InnoDB   表,   在   Comment   字段中显示  
   
  使用   OPTIMIZE   TABLE   指令可以优化它.

  • 上一篇:SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
  • 下一篇:php二分法在IP地址查询中的应用
  • 了解这些字:扩的意思 充的意思 单的意思 表的意思 容的意思 量的意思