https://geek-docs.com/mysql/mysql-ask-answer/356_mysql_how_can_i_rebuild_indexes_and_update_stats_in_mysql_innodb.html

MySQL如何在InnoDB中重建索引并更新统计数据?

在MySQL中,索引是非常重要的。索引可以加速查询,并且还可以检查唯一性。但是,索引的优化是需要花费一些时间和精力的。在InnoDB引擎中,索引是以B-Tree结构组织的,也就是说,索引在存储的时候是分离存储的。

InnoDB引擎会自动维护索引和统计数据,但是在一些特殊情况下,需要手动重建索引和更新统计数据。下面是一些常见的情况:

阅读更多:MySQL 教程

 

1.数据库重建

当你在一个新的服务器上安装了MySQL,并且需要将原来的数据库转移到新服务器时,需要将数据还原到新服务器,并且需要重建索引和更新统计数据。

2.表结构变更

当你在一个已有的表上进行结构变更时,例如增加或删除列,你需要重建索引和更新统计数据来保证查询的性能和正确性。

3.长时间未使用

如果你有一些长时间未使用的表,不妨定期对其进行重建索引和更新统计数据。

现在,我们来看看如何重建索引和更新统计数据:

重建索引

在InnoDB中,你可以使用ALTER TABLE语句来重建索引。这里有几种方法可供选择:

1.使用ALTER TABLE语句

ALTER TABLE table_name ENGINE=InnoDB;
Mysql
Copy

2.使用pt-online-schema-change工具

pt-online-schema-change是Percona Toolkit中的一个实用工具,可以在不影响应用程序的情况下进行表结构变更。

 

使用pt-online-schema-change可以避免重建索引引起的锁定表的操作。对于一些大型的表,pt-online-schema-change可以节省大量的时间。

3.使用mysqldump和mysql命令行实用程序

可以将表导出为SQL文件,然后重新导入,从而重建索引。

更新统计信息

在MySQL中,你可以使用ANALYZE TABLE语句或opt-in的InnoDB系统统计数据来更新索引统计数据。

使用ANALYZE TABLE语句

ANALYZE TABLE table_name;
Mysql
Copy

使用OPTIMIZE TABLE语句

OPTIMIZE TABLE table_name;
Mysql
Copy

可以在InnoDB中是重新创建表的副产品,它将重建表索引并更新统计数据。

总结

重建索引和更新统计信息是保证InnoDB引擎中索引性能和正确性的一种方法。在重建索引和更新统计信息之前,一定要充分备份你的数据库,以防万一。通过合适的方式和手段,时刻保持你的数据库健康和稳定。

[转帖]MySQL如何在InnoDB中重建索引并更新统计数据?的更多相关文章

  1. SQL Server重建索引与重组索引会更新统计信息吗?

    在SQL Server中重建索引(Rebuild Index)与重组索引(Reorganize Index)会触发统计信息更新吗? 那么我们先来测试.验证一下: 我们以AdventureWorks20 ...

  2. MySQL(四)InnoDB中一棵B+树能存多少行数据

    一.InnoDB一棵B+树可以存放多少行数据?(约2千万) 我们都知道计算机在存储数据的时候,有最小存储单元,这就好比我们今天进行现金的流通最小单位是一毛.在计算机中磁盘存储数据最小单元是扇区,一个扇 ...

  3. mysql提取.sql备份文件中的单个表以及表数据

    背景:随着业务模块的不断在增多,数据库mysql容量也是越来越大,做测试时,整个备份还原比较耗费时间,由于有时候仅仅需要单个表或者少数几个表,要想从整个备份文件中提取指定的表以及数据,需要以下方法. ...

  4. MySQL之LEFT JOIN中使用ON和WHRERE对表数据

    背景 left join在我们使用mysql查询的过程中可谓非常常见,比如博客里一篇文章有多少条评论.商城里一个货物有多少评论.一条评论有多少个赞等等.但是由于对join.on.where等关键字的不 ...

  5. mysql在建表语句中添加索引

    普通索引创建 创建普通索引,即不添加 UNIQUE.FULLTEXT 等任何参数. [例]创建表名为 score 的数据表,并在该表的 id 字段上建立索引,SQL 语句如下: CREATE tabl ...

  6. pandas | 如何在DataFrame中通过索引高效获取数据?

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是pandas数据处理专题的第四篇文章,我们一起来聊聊DataFrame中的索引. 上一篇文章当中我们介绍了DataFrame数据结构当 ...

  7. 「Elasticsearch」ES重建索引怎么才能做到数据无缝迁移呢?

    背景 众所周知,Elasticsearch是⼀个实时的分布式搜索引擎,为⽤户提供搜索服务.当我们决定存储某种数据,在创建索引的时候就需要将数据结构,即Mapping确定下来,于此同时索引的设定和很多固 ...

  8. 【mysql】关于innodb中MVCC的一些理解

    一.MVCC简介 MVCC (Multiversion Concurrency Control),即多版本并发控制技术,它使得大部分支持行锁的事务引擎,不再单纯的使用行锁来进行数据库的并发控制,取而代 ...

  9. 如何在Anaconda中把python环境更新更高版本

    把Anaconda中的python从3.5.5更新到3.6版本,不想卸载重新安装.办法如下: 开始->Anaconda Promot 在Anaconda Promot中,输入: conda up ...

  10. MySQL 查询某个列中同样值的数量统计

    数据如今是这种,我想确定出type列中的news和image....甚至以后有其它值,他们分别有多少个. SELECT type, count(1) AS counts FROM material G ...

随机推荐

  1. C#汉诺塔递归算法实现

    目录: 一.什么是递归 1.先来看一下一个递归的例子 2.递归的基本原理 二.汉诺塔问题 1.汉诺塔的故事 2.回到编程,汉诺塔问题主要就是解决这个问题: 3.怎么解决汉诺塔问题 要解决汉诺塔问题就要 ...

  2. ubuntu upgrade problem

    出现问题: W: Failed to fetch bzip2:/var/lib/apt/lists/partial/ppa.launchpad.net_webupd8team_java_ubuntu_ ...

  3. Linux发行版的基础目录名称、命名法则及功能规定

    罗列Linux发行版的基础目录名称命名法则及功用规定 目录描述 /主层次 的根,也是整个文件系统层次结构的根目录 /bin存放在单用户模式可用的必要命令二进制文件,所有用户都可用,如 cat.ls.c ...

  4. 文心一言 VS 讯飞星火 VS chatgpt (57)-- 算法导论6.4 1题

    文心一言 VS 讯飞星火 VS chatgpt (57)-- 算法导论6.4 1题 一.参照图 6-4 的方法,说明 HEAPSORT 在数组 A=(5,13,2,25,7,17,20,8,4)上的操 ...

  5. GaussDB技术解读:应用无损透明(ALT)

    本文分享自华为云社区<DTCC 2023专家解读丨GaussDB技术解读系列之应用无损透明(ALT)>,作者: GaussDB 数据库. 近日,在第14届中国数据库技术大会(DTCC 20 ...

  6. 解锁华为云AI如何助力无人车飞驰“新姿势”,大赛冠军有话说

    摘要:在2020年第二届华为云人工智能大赛•无人车挑战杯赛道中,"华中科技大学无人车一队"借助华为云一站式AI开发与管理平台ModelArts及HiLens端云协同AI开发应用平台 ...

  7. 再获殊荣!华为云GaussDB喜提“科技进步一等奖”

    摘要:近日,中国电子学会科学技术奖励大会颁发了2021-2022年度中国电子学会科学技术奖获奖项目,华为云主导的"GaussDB智能云原生分布式数据库"项目荣获"科技进步 ...

  8. 十八般武艺玩转GaussDB(DWS)性能调优:Plan hint运用

    摘要:本文介绍GaussDB(DWS)另一种可以人工干预计划生成的功能--plan hint. 前言 数据库的使用者在书写SQL语句时,会根据自己已知的情况尽力写出性能很高的SQL语句.但是当需要写大 ...

  9. 在Linux(CentOS7)服务器上安装Java的JDK

    一.介绍 最近,我在做有关CI/CD的测试,真是一步一个坑啊,碰得我头破血流,这么难得的经验,必须记录下来,以防以后想找却找不到.说道CI/CD最好的工具,大家肯定是一致推荐Jenkins,对了,我现 ...

  10. PPT 提升素材搜索能力

    https://cn.bing.com/images 高清透明 https://unsplash.com/ 更新快 https://pixabay.com/zh/ 免费高清图片 https://www ...