我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mysql 表碎片整理

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mysql 表碎片整理

查看数据库中表、索引和碎片大小的大小:
select round(sum(data_length/1024/1024),2) as data_length_MB,  
round(sum(index_length/1024/1024),2) as index_length_MB  ,
round(sum(data_free/1024/1024),2) as data_free_MB  ,table_name
from information_schema.tables where TABLE_SCHEMA= 'db_name' group by table_name order by 3 desc;更具查询的结果进行整理。

查看表的碎片情况:DATA_FREE
show TABLE status like 't_app_user';
或者查看:
select * from  information_schema.tables where table_schema= 't_app_user';
生成批量脚本:
select CONCAT('alter table ',table_name , ' ENGINE=INNODB;') from  information_schema.tables where TABLE_SCHEMA = 'db_chunqiu' and table_name like 't_app_user_head_%';


整理data_free大于100M的表:

select round(sum(data_length/1024/1024),2) as data_length_MB,  
round(sum(index_length/1024/1024),2) as index_length_MB  ,
round(sum(data_free/1024/1024),2) as data_free_MB  ,CONCAT('alter table ',table_name , ' ENGINE=INNODB;') dd
from information_schema.tables where TABLE_SCHEMA= 'db_chunqiu'  group by dd  having data_free_MB >100 order by 3 desc;

进行碎片整理:
alter table t_app_user ENGINE=INNODB;

整理前:
mysql> show TABLE status like 't_app_user'\G;
*************************** 1. row ***************************
           Name: st_order_cal_record
         Engine: InnoDB
        Version: 10
     Row_format: Dynamic
           Rows: 3033960
 Avg_row_length: 7117
    Data_length: 21594390528
Max_data_length: 0
   Index_length: 0
      Data_free: 201046622208 --200G碎片左右
 Auto_increment: 241541550
    Create_time: 2018-05-04 16:17:26
    Update_time: 2018-10-12 15:11:18
     Check_time: NULL
      Collation: utf8_general_ci
       Checksum: NULL
 Create_options:
        Comment:
1 row in set (0.00 sec)

ERROR:
No query specified


整理后:
mysql> show TABLE status like 't_app_user'\G;
*************************** 1. row ***************************
           Name: st_order_cal_record
         Engine: InnoDB
        Version: 10
     Row_format: Dynamic
           Rows: 3292968
 Avg_row_length: 2038
    Data_length: 6711918592
Max_data_length: 0
   Index_length: 0
      Data_free: 4194304 --4M整理后
 Auto_increment: 241583900
    Create_time: 2018-10-12 15:14:30
    Update_time: 2018-10-12 15:57:51
     Check_time: NULL
      Collation: utf8_general_ci
       Checksum: NULL
 Create_options:
        Comment:
1 row in set (0.00 sec)

ERROR:
No query specified

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mysql 表碎片整理

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL InnoDB表的碎片量化和整理(data free能否用来衡量碎片?)

网络上有很多MySQL表碎片整理的问题,大多数是通过demo一个表然后参考data free来进行碎片整理,这种方式对myisam引擎或者其他引擎可能有效(本人没有做详细的测试).对Innodb引擎是不是准确的,或者data free是不是可以参考,还是值得商
MySQL InnoDB表的碎片量化和整理(data free能否用来衡量碎片?)
2021-08-24

mysql如何进行OPTIMIZE TABLE整理碎片

这篇文章给大家介绍mysql如何进行OPTIMIZE TABLE整理碎片,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。来看看手册中关于 OPTIMIZE 的描述:OPTIMIZE [LOCAL | NO_WRITE_T
2023-06-06

Win 2000磁盘碎片整理

电脑使用久了,磁盘上保存了大量的文件,这些文件并非保存在一个连续的磁盘空间上,而是把一个文件分散的放在许多地方,这些零散的文件被称作“磁盘碎片”,这些碎片会降低整个Windows的性能NMWzHbHwpN。于是Win
2023-05-23

SQL级别索引碎片整理

SQL级别索引碎片整理是指对数据库中的索引进行整理、优化,以提高数据库查询性能和减少存储空间的过程。索引碎片是指索引中的数据并非按照物理存储顺序排列的情况,造成查询效率低下,整理索引碎片可以提高查询效率和减少存储空间的占用。索引碎片整理可
SQL级别索引碎片整理
2024-08-03

win10如何整理磁盘碎片

本篇内容介绍了“win10如何整理磁盘碎片”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!win10磁盘碎片的整理步骤1、双击打开“此电脑”,
2023-07-01

win7磁盘碎片怎么整理

这篇文章主要介绍“win7磁盘碎片怎么整理”,在日常操作中,相信很多人在win7磁盘碎片怎么整理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”win7磁盘碎片怎么整理”的疑惑有所帮助!接下来,请跟着小编一起来
2023-06-28

ubuntu磁盘碎片如何整理

在Ubuntu中,可以使用e4defrag命令来整理磁盘碎片。e4defrag是ext4文件系统的碎片整理工具。首先,打开终端(Ctrl + Alt + T)。然后,使用以下命令安装e4defrag工具:```sudo apt update
2023-08-24

编程热搜

目录