美文网首页MysqlMySql
MySQL索引碎片整理

MySQL索引碎片整理

作者: 这货不是王马勺 | 来源:发表于2022-03-25 16:56 被阅读0次

查看碎片信息:

show table status like 'table_name';

Index_length 代表索引的总量
Data_free 代表碎片数量

从information_schema中获取信息:

SELECT CONCAT(table_schema, '.', table_name)                   AS  TABLE_NAME

      ,engine                                                  AS  TABLE_ENGINE 

      ,table_type                                              AS  TABLE_TYPE

      ,table_rows                                              AS  TABLE_ROWS

      ,CONCAT(ROUND(data_length  / ( 1024 * 1024), 2), 'M')    AS  TB_DATA_SIZE 

      ,CONCAT(ROUND(index_length / ( 1024 * 1024), 2), 'M')    AS  TB_IDX_SIZE 

      ,CONCAT(ROUND((data_length + index_length ) 

            / ( 1024 * 1024 ), 2), 'M')                        AS  TOTAL_SIZE

      ,CASE WHEN  data_length =0 THEN 0

            ELSE  ROUND(index_length / data_length, 2) END     AS  TB_INDX_RATE

    ,CONCAT(ROUND( data_free / 1024 / 1024,2), 'MB')           AS  TB_DATA_FREE 

    ,CASE WHEN (data_length + index_length) = 0 THEN 0

             ELSE ROUND(data_free/(data_length + index_length),2) 

     END                                                       AS  TB_FRAG_RATE

FROM information_schema.TABLES  

ORDER BY data_free DESC;

碎片整理:

optimize table table_name;

过程时间长短取决于表大小和碎片多少,
返回结果optimize status OK则整理完成;

碎片整理过程会添加表级排他锁,需要找非繁忙期进行操作。

相关文章

  • MySQL索引碎片整理

    查看碎片信息: Index_length 代表索引的总量Data_free 代表碎片数量 从information...

  • MySQL索引及查询优化书目录

    MySQL索引的原理之索引目的 MySQL索引的原理之索引原理 MySQL索引的原理之索引的类型 MySQL索引的...

  • Mysql索引优化整理

    索引优化总结口诀:全值匹配我最爱,最左前缀要遵守;带头大哥不能死,中间兄弟不能断;索引列上少计算,范围之后全失效;...

  • Mysql索引整理总结

    一、索引概述 1. 简介 索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信...

  • MysqL碎片整理优化

    先来说一下什么是碎片,怎么知道碎片有多大! 简单的说,删除数据必然会在数据文件中造成不连续的空白空间,而当插入数据...

  • MySQL表碎片整理

    甲方要求每个月整理一下MySQL的表碎片率,并汇报 查询表碎片sqlselect t.table_schema, ...

  • 高性能的索引策略

    MySQL查询基础-查询执行过程 MySQL聚簇索引 MySQL覆盖索引 MySQL索引扫描排序 MySQL冗余和...

  • MySQL索引的使用

    MySQL索引 MySQL索引可以快速提高MySQL的检索速度。索引分单列索引和组合索引单列索引:即一个索引只包含...

  • mysql 重复索引、冗余索引和索引碎片修复

    重复索引和冗余索引 重复索引:在同一个列建立的多个单值索引,或者在顺序相同的多个列上建立了多个复合索引。这种重复索...

  • Mysql索引与锁

    本文以Mysql5.7为例测试。 1:mysql索引方法 Mysql的索引方法分为btree索引和hash索引。 ...

网友评论

    本文标题:MySQL索引碎片整理

    本文链接:https://www.haomeiwen.com/subject/xpddjrtx.html