有没有一种方法可以将以下内容作为一个语句而不是两个添加?每个语句都需要几个小时才能运行,所以我想知道在创建时是否可以索引它?
alter table main_table add `last_updated` datetime DEFAULT CURRENT_TIMESTAMP;
alter table main_table add index (last_updated);
有没有一种方法可以将以下内容作为一个语句而不是两个添加?每个语句都需要几个小时才能运行,所以我想知道在创建时是否可以索引它?
alter table main_table add `last_updated` datetime DEFAULT CURRENT_TIMESTAMP;
alter table main_table add index (last_updated);
ALTER TABLE tbl_name
[alter_specification [, alter_specification] ...]
alter_specification:
| ADD [COLUMN] col_name column_definition
[FIRST | AFTER col_name]
| ADD {INDEX|KEY} [index_name]
[index_type] (index_col_name,...) [index_option] ...
这篇文章提到了在同一条语句中可以同时添加列和索引。
我已经在MySQL 5.6上测试过,并且它运行良好:
alter table main_table add `last_updated` datetime DEFAULT CURRENT_TIMESTAMP,
add index (last_updated);
ALTER TABLE main_table
ADD `last_updated` DATETIME DEFAULT CURRENT_TIMESTAMP,
ADD INDEX (`last_updated`),
ALGORITHM=inplace,
LOCK=none;