时间:2021-04-16
delete fromtable_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 指令可以优化它.
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文介绍MySQL查看数据库表容量大小的命令语句,提供完整查询语句及实例,方便大家学习使用。1.查看所有数据库容量大小selecttable_schemaas'
1.简介:作为DBA会经常需要检查所有的数据库或用户表,比如:检查所有数据库的容量;看看指定数据库所有用户表的容量,所有表的记录数...,我们一般处理这样的问题
MySQL中查询所有数据库名和表名查询所有数据库showdatabases;查询指定数据库中所有表名selecttable_namefrominformatio
MySQL常见错误代码及代码说明一览表:1005:创建表失败1006:创建数据库失败1007:数据库已存在,创建数据库失败
如果想知道MySQL数据库中每个表占用的空间、表记录的行数的话,可以打开MySQL的information_schema数据库。在该库中有一个TABLES表,这