当前位置: 首页 > news >正文

【请关注】MySQL 碎片整理提升性能

MySQL 碎片整理的具体操作样例:

1.备份数据:碎片整理可能伴随锁表或数据移动,操作前务必备份。

2.锁表影响:OPTIMIZE TABLE 对 InnoDB 表会触发 MDL 锁,大表需谨慎。

3.日志清理:整理后建议清理二进制日志(PURGE BINARY LOGS)或重启 MySQL,释放磁盘空间。

  • InnoDB 表空间碎片整理

假设存在一张名为 table_test 的表,因频繁增删导致碎片较多,需优化表空间。

  1.  使用 OPTIMIZE TABLE 整理(简单场景)

sql

OPTIMIZE TABLE table_test;

-作用:重组表数据,回收未使用空间,适用于中小型表。

-注意:会锁定表,生产环境建议在低峰期执行。

        ​​​​​​​2. 重建表+删除临时文件(避免锁表)

sql

-- 方法1:通过 CREATE...SELECT 重建(适用于非分区表)

CREATE TABLE table_test_new LIKE table_test;

INSERT INTO table_test_new SELECT  FROM table_test;

RENAME TABLE table_test TO table_test_old, table_test_new TO table_test;

DROP TABLE table_test_old;

-- 方法2:使用 ALTER TABLE 重建(自动处理临时表)

ALTER TABLE table_test ENGINE = InnoDB;

-作用:通过新建表转移数据,释放碎片空间,锁表时间更短。

​​​​​​​3.场景:MyISAM 表碎片整理

MyISAM 表碎片更常见,需定期优化。

1. 直接优化表

sql

OPTIMIZE TABLE table_test;

-效果:会立即整理碎片,恢复表空间。

2. 批量优化多个表

sql

-- 查询需要优化的表(数据长度 + 索引长度 > 数据文件长度)

SELECT TABLE_SCHEMA, TABLE_NAME

FROM INFORMATION_SCHEMA.TABLES

WHERE ENGINE = 'MyISAM'

  AND (DATA_LENGTH + INDEX_LENGTH) > DATA_FREE;

-- 生成优化语句(批量执行)

SELECT CONCAT('OPTIMIZE TABLE ', TABLE_SCHEMA, '.', TABLE_NAME, ';')

FROM INFORMATION_SCHEMA.TABLES

WHERE ENGINE = 'MyISAM'

  AND DATA_FREE > 0;

​​​​​​​通过以上方法可有效减少表空间碎片,提升查询性能。根据表引擎和数据量选择合适方式,优先避免对生产环境造成影响。

相关文章:

  • 在word中点击zotero Add/Edit Citation没有反应的解决办法
  • 文档处理组件Aspose.Words 25.5全新发布 :六大新功能与性能深度优化
  • 【Android基础回顾】七:内存管理机制
  • Android7 Input(十)View 处理Input事件pipeline
  • 【android bluetooth 协议分析 02】【bluetooth hal 层详解 7】【高通蓝牙hal-读流程介绍】
  • 国产linux系统(银河麒麟,统信uos)使用 PageOffice在线编辑word文件保存数据同时保存文件
  • 第46节:多模态分类(图像+文本)
  • Java在word中指定位置插入图片。
  • 如何在电脑上轻松访问 iPhone 文件
  • LabVIEW自感现象远程实验平台
  • Java编程课(一)
  • 力扣HOT100之二分查找: 34. 在排序数组中查找元素的第一个和最后一个位置
  • Android Test2 获取系统android id
  • DeepSeek 助力 Vue3 开发:打造丝滑的日历(Calendar),日历_天气预报日历示例(CalendarView01_18)
  • WordZero:让Markdown与Word文档自由转换的Golang利器
  • 装备制造项目管理具备什么特征?如何选择适配的项目管理软件系统进行项目管控?
  • 【SSM】SpringBoot笔记2:整合Junit、MyBatis
  • 【SSM】SpringMVC学习笔记7:前后端数据传输协议和异常处理
  • 2025前端微服务 - 无界 的实战应用
  • 深入浅出 Scrapy:打造高效、强大的 Python 网络爬虫
  • 最好的ppt模板网站/常州seo排名收费
  • 网站开发评审时间安排/百度seo排名360
  • 江苏优化网站/江苏网站推广公司
  • 哪家网站建设做的好/网站推广怎么弄
  • 用易语言做网站抢购软件/seo竞争对手分析
  • 宁乡网站开发公司推荐/seo薪资水平