码迷,mamicode.com
首页 > 数据库 > 详细

mysql新版本索引优化简介

时间:2015-01-08 13:34:21      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:

索引创建优化:
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)列的重命名

mysql新版本索引优化简介

标签:

原文地址:http://my.oschina.net/u/1169079/blog/365003

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!