如何优化MySQL InnoDB表?

MySQL 5.5版本开始,默认使用InnoDB存储引擎,它擅长事务处理,具有崩溃恢复特性,在日常开发中使用非常广泛。那么如何优化MySQL InnoDB表?第一步是确定您的数据库是否有碎片,然后连接到MySQL数据库并运行下面提到的查询,它会告诉您每个表有多少空闲空间。

登录MySQL命令提示符:

mysql [(none)] > use qzhuji_test;

mysql [qzhuji_test]> select table_name, data_length, data_free
-> from information_schema.tables
-> where table_schema='<schema name>’
-> order by data_free desc;

要以MB为单位显示数据,请使用下面命令:

mysql [qzhuji_test]> select table_name,
-> round(data_length/1024/1024) as data_length_mb,
-> round(data_free/1024/1024) as data_free_mb
-> from information_schema.tables
-> where round(data_free/1024/1024) > 450
-> order by data_free_mb;

 

这将显示至少有450MB可用空间的所有表的列表。正如我们所看到的,在这个例子中有两个表有超过450MB的未使用空间。“表单”表的大小约为2.3GB。“form”表大约有1.2GB的空闲空间,从这些值中,我们可以看到表被大量地分割,为了避免这种情况,我们必须对其进行优化。

mysql [(none)] > use qzhuji_test;
mysql [qzhuji_test]> OPTIMIZE TABLE form;

优化后结果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值