1.为什么整理碎片

经常会使用VARCHAR、TEXT、BLOB等可变长度的文本数据类型。不过,当我们使用这些数据类型之后,我们就不得不做一些额外的工作——MySQL 数据表碎片整理。每当MySQL从你的列表中删除了一行内容,该段空间就会被留空。而在一段时间内的大量删除操作,会使这种留空的空间变得比存储列表内容所使用的空间更大。当MySQL对数据进行扫描时,它扫描的对象实际是列表的容量需求上限,也就是数据被写入的区域中处于峰值位置的部分。如果进行新的插入操作,MySQL将尝试利用这些留空的区域,但仍然无法将其彻底占用。

经常会使用VARCHAR、TEXT、BLOB等可变长度的文本数据类型,删除数据必然会在数据文件中造成不连续的空白空间,而当插入数据时,这些空白空间则会被利用起来.于是造成了数据的存储位置不连续,以及物理存储顺序与理论上的排序顺序不同,这种是数据碎片.实际上数据碎片分为两种,一种是单行数据碎片,另一种是多行数据碎片.前者的意思就是一行数据,被分成N个片段,存储在N个位置.后者的就是多行数据并未按照逻辑上的顺序排列.当有大量的删除和插入操作时,必然会产生很多未使用的空白空间,这些空间就是多出来的额外空间.索引也是文件数据,所以也会产生索引碎片,理由同上,大概就是顺序紊乱的问题.Engine 不同,OPTIMIZE 的操作也不一样的,MyISAM 因为索引和数据是分开的,所以 OPTIMIZE 可以整理数据文件,并重排索引。这样不但会浪费空间,并且查询速度也更慢。

解决方案:(切记,一定要在夜里执行,表越大,越耗资源时间,不要频繁修复,可以几个月甚至一年修复一次,如果表频繁被更改,可以按周/月来整理。)

2.整理碎片

1.统计碎片表

select table_schema db,table_name,data_free,engine from information_schema.tables

where table_schema not in('information_schema', 'mysql')and data_free> 0 ORDER BY data_free DESC ;

2.优化表

使用 Navicat for Mysql工具优化

使用命令优化

OPTIMIZE TABLE 'oc_xxx_news'

3.查看整理完成情况

show processlist;

mysql碎片处理_mysql碎片整理相关推荐

  1. mysql 全面知识点_Mysql知识点整理

    1.存储引擎区别 MyISAM:不支持事物.仅支持表级锁.支持B+树索引 MEMORY:不支持事物.仅支持表级锁.支持B+树和HASH索引 InnoDB:支持事物.支持行级锁.支持B+树索引 2.锁机 ...

  2. mysql case默认_MySQL知识整理10.1—存储过程和函数

    数据科学探路者:MySQL知识整理9-索引​zhuanlan.zhihu.com 一.什么是存储过程? 简单的说,存储过程是一条或者多条SQL语句的集合,可视为批文件,但是其作用不限于批处理. 我们常 ...

  3. mysql 创建师徒_mysql基础整理

    (一)几个数据库相关的概念 1.数据库 数据库: 保存有组织数据的容器. 数据的所有存储.检索.管理和处理实际上是有数据库软件DBMS完成的. 我们通过数据库软件DBMS来创建和操纵容器. 2.表 某 ...

  4. mysql 回收空间_MySQL表的碎片整理和空间回收小结

    MySQL表碎片化(Table Fragmentation)的原因 关于MySQL中表碎片化(Table Fragmentation)产生的原因,简单总结一下,MySQL Engine不同,碎片化的原 ...

  5. mysql索引碎片整理_MysqL碎片整理优化

    先来说一下什么是碎片,怎么知道碎片有多大! 简单的说,删除数据必然会在数据文件中造成不连续的空白空间,而当插入数据时,这些空白空间则会被利用起来.于是造成了数据的存储位置不连续,以及物理存储顺序与理论 ...

  6. mysql 碎片率_mysql数据碎片太多怎么办?

    mysql数据碎片太多的解决方法:1.进入phpMyAdmin页面,点击左侧栏要管理的MySQL数据库,在数据库最右侧有一列名为"多余":2.点击数据表列表下面的"仅选择 ...

  7. MySQL 的几种碎片整理方案总结(解决delete大量数据后空间不释放的问题)

    MySQL 的几种碎片整理方案总结(解决delete大量数据后空间不释放的问题) 1.背景知识 1.1 为什么会有碎片 MySQL 中 insert 与 update 都可能导致页分裂,这样就存在碎片 ...

  8. mysql 碎片率_详解Mysql数据库表碎片计算公式、碎片整理方法,值得收藏

    概述 我们经常会使用VARCHAR.TEXT.BLOB等可变长度的文本数据类型.不过,当我们使用这些数据类型之后,就不得不做一些额外的工作--MySQL数据表碎片整理. 每当MySQL从你的列表中删除 ...

  9. 磁盘碎片以及磁盘碎片整理程序

    1.什么叫磁盘碎片? :磁盘碎片指的是硬盘读写过程中产生的不连续文件. 2.产生磁盘碎片的主要原因? :因为文件被分散保存到整个磁盘的不同地方,而不是连续地保存在磁盘连续的簇中形成的. 当应用程序所需 ...

最新文章

  1. android 语音助手官网,breeno语音助手最新版
  2. php为什么搜不到字段,php-通过多个字段搜索.有时一个领域,有时不止一个领域
  3. java的位桶是什么_Java关于桶排序的知识点总结
  4. python编程入门第3版pdf-Python编程入门第3版PDF电子书免费下载
  5. java制作游戏开始界面,太香了
  6. 紫外分光光度计与紫外可见分光光度计的区别是什么?
  7. c++ primer plus第六版复习题及答案
  8. android 好用的工具,8款好玩实用APP推荐(安卓)
  9. app支付宝支付java后台_手机APP如何接入支付宝支付(java后台)
  10. Kali Linux使用MSF木马入侵安卓手机
  11. 设计模式六大原则之--依赖倒置原则(DIP)
  12. 全民程序员时代来了吗?解锁低代码流行背后的秘密
  13. 【Unity】NGUI/UGUI 小地图制作
  14. 美国人怎么看 2020 年的产业数字化|趋势
  15. 1.创建Prism项目
  16. 深入拆解一线大厂JVM讲师:宋红康
  17. 使用爬虫下载会议视频
  18. vue computed计算属性
  19. C语言操作SQLite
  20. 俄罗斯方块游戏开发教程8:下落处理

热门文章

  1. 《极限特工》系列IP启动 系列新作将在中国取景
  2. 2019湖南大学计算机考研分数线,湖南大学2019年考研分数线湖大复试过线多少分...
  3. 联影医疗通过注册:拟募资125亿 薛敏控制32%股权
  4. 极大似然估计的直观含义
  5. 探索水面无人艇运动控制
  6. ncode如何实现多通道加速度激励下频域疲劳分析
  7. 视频教程-【吴刚】网页元素设计WUI初级入门视频教程-UI
  8. css3 动画还原,css动画及权重
  9. vector, list, deque的选用
  10. Android 双开沙箱 VirtualApp 源码分析(四)启动插件 Service