登录
首页 >  数据库 >  MySQL

InnoDB创建索引之Fast Index Creation

来源:SegmentFault

时间:2023-02-16 15:18:14 289浏览 收藏

小伙伴们对数据库编程感兴趣吗?是否正在学习相关知识点?如果是,那么本文《InnoDB创建索引之Fast Index Creation》,就很适合你,本篇文章讲解的知识点主要包括MySQL。在之后的文章中也会多多分享相关知识点,希望对大家的知识积累有所帮助!

MySQL5.5(不含5.5)添加或删除索引的效率很低下,具体过程如下:

  1. 首先创建一张新的临时表,表结构为通过命令alter table新定义的结构。
  2. 然后把原表中数据导入到临时表。
  3. 接着删除原表。
  4. 最后将临时表重命名为原来的表。

如果表大的话,这相过程是相当长的。
InnoDB从1.0.x版本后使用Fast Index Creation(快速索引创建)的方式,简称FIC,具体如下,
创建索引:对创建索引的表加一个S锁,不会重建表。因为是S锁所以不会影响读(但会阻塞写)。
删除索引:只需要更新内部实图,将辅助索引的空间标记为可用,同时删除数据库内部视图上对该表的索引定义。

需要说明下,FIC只限定于辅助索引,对于主键的创建和删除同样需要重建一张表。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于数据库的相关知识,也可关注golang学习网公众号。

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表