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. 2021天津高考成绩查询时间26号几点,2021年天津高考成绩查询时间安排 什么时候出分...
  2. boost::hana::monadic_compose用法的测试程序
  3. windows程序消息机制(Winform界面更新有关)
  4. 软件测试的学习之路 ----- 数据库的概要图
  5. django 1.8 官方文档翻译:13-3 日志
  6. 在Blazor中构建数据库应用程序——第2部分——服务——构建CRUD数据层
  7. androidsdcard挂载目录_获取android手机的自带存储路径和sdcard存储路径
  8. postman使用之二:数据同步和创建测试集
  9. 非对称网络不通 子网掩码是“祸首”
  10. 如何让你的 x86 openwrt虚拟机上网
  11. [海康威视]-门禁设备告警布防代码C#实现
  12. 十六、C语言中的头文件与模块化设计
  13. 脉冲经过高通和低通滤波器后的波形
  14. oracle集群crs,oracle rac集群 crs常用命令(转)
  15. phython在file同时写入两个_RTX 3080出生两个月卒!Radeon RX 6800/6800 XT首发评测
  16. 毕生精力总结的电脑技巧
  17. python到底怎么读?
  18. highCharts第一天学习笔记(面积图)
  19. Unity 编辑器开发实战【Custom Editor】- 为UI视图制作动画编辑器
  20. 半导体器件物理【8】平衡半导体 —— 平衡状态、统计力学

热门文章

  1. TPlannerCalendar日期选择器
  2. 产生纠缠态的三种方式(已过时)
  3. 计算机改名字后找不到网络,改了wifi名字后电脑搜不到网络怎么办? | 192路由网...
  4. 简单的VIP判定思路
  5. python代码画房子---
  6. 小白从零开始:小程序阿里云平台控制stm32温湿度光照强度(软件篇)
  7. 敏捷开发——迭代质量评估报告
  8. C语言 斐波那契数列1、1、2、3、5、8、13、21、34、……
  9. 【中文】【吴恩达课后编程作业】Course 2 - 改善深层神经网络 - 第一周作业(123)
  10. 高中学历学python能找到工作吗-高中学历学完Python就能干人工智能?后院活动部...