InnoDB创建索引之Fast Index Creation
【InnoDB创建索引之Fast Index Creation】MySQL5.5(不含5.5)添加或删除索引的效率很低下,具体过程如下:
- 首先创建一张新的临时表,表结构为通过命令alter table新定义的结构。
- 然后把原表中数据导入到临时表。
- 接着删除原表。
- 最后将临时表重命名为原来的表。
InnoDB从1.0.x版本后使用Fast Index Creation(快速索引创建)的方式,简称FIC,具体如下,
创建索引:对创建索引的表加一个S锁,不会重建表。因为是S锁所以不会影响读(但会阻塞写)。
删除索引:只需要更新内部实图,将辅助索引的空间标记为可用,同时删除数据库内部视图上对该表的索引定义。
需要说明下,FIC只限定于辅助索引,对于主键的创建和删除同样需要重建一张表。
推荐阅读
- django-前后端交互
- IDEA|IDEA 创建工程
- 15、IDEA学习系列之其他设置(生成javadoc、缓存和索引的清理等)
- mysql|InnoDB数据页结构
- mysql中视图事务索引与权限管理
- 创建缔造完美教室,让每一间教室都闪闪发光
- mysql|一文深入理解mysql
- Servlet原理|Servlet原理 二(Web应用与创建Servlet实例)
- 17个搜索引擎
- 搜索引擎有哪些