- 论坛徽章:
- 0
|
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 指令可以优化它.
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/56194/showart_1848569.html |
|