清除表碎片


(1)MyISAM表

optimize table 表名

(2)InnoDB表

alter table 表名 engine=InnoDB



zblog的一般是MyISAM

扩展阅读:

什么是碎片?

数据库在往里面存放数据的时候.占用的空间会随着数据的增加而增加.

假如目前有1个G的数据,那么我们删掉500M,这时,数据库的占用空间仍然是1G,因为虽然把数据删除了.但是他占用的空间仍然还在那占着.这就称为碎片.

清理碎片后.那么占用的空间就会变回500M了,清理后会提升查询速度!

因为本身要从1G的数据空间里找东西.变为从500M里找东西了.速度肯定就快了

所以如果 你曾经删除过大量的数据, 这时可以清除下碎片. 这样不仅可以释放空间.还能提升性能


相关推荐

mysql清理二进制日志语句 mysql删除mysql-bin. 文件

这些都是二进制日志文件,删除这些日志 可以执行sql语句:(删除指定时间以前的日志)PURGE MASTER LOGS BEFORE '2022-06-01 15:10:26';查看当

mysql修改字段名语句

最简单的语句ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型;必须带上新的数据类型 修改后 注释也没了 如果要加注释和属性 可以紧跟后面加上去,例如: ALTER TABL

mysql sqlite取内最大id语句 取最新插入id 取行数

取最大ID方法一:select MAX(id) from 表名 方法二:select * from sqlite_sequence where name='表名' 以上两种方法 500

常用mysql语句

增删改查mysql语句增(在表中插入多行数据)一次插入多行数据方法一:insert into mydb.kword(field1,field2,field3) values(value1,vaule2

sqlite mysql 复制行数据:插入查询结果 insert select 联合使用语句

插入一个字段:insert into 表名称 (字段名) select 字段名 from 表名称 where id=39

sqlite创建索引语句 添加索引 增加索引

mysql创建索引alter table 表名 add index 索引名 (列名);sqlite创建索引:CREATE INDEX 索引名 ON 表名 (字段a,字段b);

sqlite改名 与常用语句

sql修改数据表名称:ALTER table 表名称 RENAME TO 新表名称非常基础的 增删改查 请参考 http://qingzhouquanzi.com/3.html扩展阅读: SQLite

sqlite常用语句大全

增删改查:增加insert into 表名(字段1,字段3,字段3)values(值1,值2,值3)删除delete from 表名 where id=888修改update 表名 set 字段1=值

mysql sqlite 删除旧数据 只保留最新的100条

完整语句:delete from _sql执行记录 where id in (select id from _sql执行记录 order by id desc limit 100,100000)del

mysql最大行数限制

以下内容仅是猜测:一般习惯每建一个表 第一个字段都是id,且是自增的所以感觉可能会取决于自增id的数据类型一般自增id都用int 默认就是20多亿行 如果加了 unsigned 就是40多亿行 超过