时间:2021-05-23
当DELETE后面跟条件的时候,则就会出现这个问题
delete from table_name where 条件
删除数据后,数据表占用的空间大小不会变。
不跟条件直接delete的时候。
delete from table_name清除了数据,同时数据表的空间也会变为0
如果已经删除了表数据的很大一部分,或者有很多变化和变长表行(VARCHAR表,VARBINARY、BLOB或文本列)进行了更改,因为删除操作后在数据文件中留下碎片所致。DELETE只是将数据标识位删除,并没有整理数据文件,当插入新数据后,会再次使用这些被置为删除标识的记录空间,可以使用OPTIMIZE TABLE来回收未使用的空间,并整理数据文件的碎片。
OPTIMIZE TABLE只对MyISAM, BDB和InnoDB表起作用。
OPTIMIZE TABLE 表名;
针对myisam引擎,使用optimize table 还有如下功能:
If the table has deleted or split rows, repair the table. [修复表]If the index pages are not sorted, sort them. [索引未排序,会排序]If the table's statistics are not up to date (and the repair could not be accomplished by sorting the index), update them.[若表的统计信息不是最新的,更新它]对myiam数据表进行批量删除后,发现空间没有回收,要通过optimize table来回收空间
以上所述是小编给大家介绍的mysql之delete删除记录后数据库大小不变的相关知识,希望对大家有所帮助!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
你可能想知道MySQL以下三种信息:查询结果信息:SELECT,UPDATE或DELETE语句影响的记录数。数据库和数据表的信息:包含了数据库及数据表的结构信息
数据库删除表语句有: 1、delete语句用于删除表中的行。delete语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保
MySQL的三个信息:查询的结果有关的信息:这包括由任何SELECT,UPDATE或DELETE语句产生数量的记录。表和数据库有关的信息:这包括表和数据库的结构
Mysql删除数据库dropdatabase方法-:使用cmd模式下载删除mysql>dropdatabaseschool;此命名删除了school数据库。但如
下面介绍mysql删除数据库的方法: 命令:dropdatabase 例如:删除名为xhkdb的数据库 mysql>dropdatabasexhkdb