mysql语句重命名索引_mysql新版本索引优化简介

索引创建优化:

fast index creation

mysql5.5之前不包括5.5,创建索引或修改删除这类的ddl操作过程为:

1、首先创建一张新的临时表,表结构为通过alter table 新定义的结构

2、然后把原表中的数据导入到临时表中

3、接着删除原表

4、最后把临时表重命名为原来的表名

innodb 存储引擎从1.0.x开始支持fast index creation(快速索引创建)-简称:FIC

对于辅助索引的创建,innodb存储引擎会对创建索引的表加上一个S锁,在创建过程中,不需要重建表,速度快了很多,删除辅助索引也会快很多,

存在的问题:

(1)在创建过程中只能对该表进行读操作,若有大量的事物需要对目标表进行写操作,数据库服务器不可用。

(2)FIC方式只限于辅助索引,对于主键的创建与删除同样需要重建一张表

online ddl

虽然FIC可以让innodb存储引擎避免创建临时表,从而提高了索引的创建效率,但是会阻塞DDL操作,从mysql5.6开始支持了online DDL(在线数据定义)操作,

其允许辅助索引创建的同时,还允许其他诸如insert,update,delete这类的DDL操作,此外一下这几类DDL操作都可以通过“在线”的方式进行操作:

(1)辅助索引的创建与删除

(2)改变自增长值

(3)添加删除外键约束

(4)列的重命名

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值