ALGORITHM=INPLACE,可以避免重建表带来的IO和CPU消耗,保证ddl期间依然有良好的性能和并发。 ALGORITHM=COPY,需要拷贝原始表,所以不允许并发DML写操作,可读。这种copy方式的效率还是不如 inplace ,因为前者需要记录undo和redo log,而且因为临时占用buffer pool引起短时间内性能受影响。 1、在线添加索引: alter table test_emp add index idx_id (c1),ALGORITHM=INPLACE; 2、在线添加字段: alter table test_emp add name varchar(100) not null default '',ALGORITHM=INPLACE; 3、在线修改字段属性: alter table test_emp ALGORITHM=INPLACE,modify c6 varchar(85) not null default ''; 1.PRIMARY KEY(主键索引) mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) ,ALGORITHM=INPLACE; 2.UNIQUE(唯一索引) mysql>ALTER TABLE `table_name` ADD UNIQUE (`column`