首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MySQL中同时添加多个索引

在MySQL中同时添加多个索引
EN

Stack Overflow用户
提问于 2015-06-04 01:52:12
回答 3查看 22.3K关注 0票数 9

在对MySQL进行测试期间,我希望将多个索引添加到一个超过5000万行的表中。MySQL是否支持同时为不同的列添加2个索引?如果是,我是否需要打开两个会话,或者可以通过一个命令来完成?

EN

回答 3

Stack Overflow用户

发布于 2015-06-06 00:08:51

是。但是..。

在旧版本中,使用

代码语言:javascript
复制
ALTER TABLE tbl
    ADD INDEX(...),
    ADD INDEX(...);

因此,它将在一次传递中完成所有工作。

在较新的版本中,ALGORITHM=INPLACE使工作可以在InnoDB表的“后台”完成,因此对其他处理的影响较小。但是,为了获得INPLACE处理,您可能需要单独添加每个索引。请查看手册中的特定语法;自从我写下这个答案以来,6+几年来发生了很多变化。此外,MySQL和MariaDB也不是步调一致的。

Ref manual列出了一些注意事项,例如处理PRIMARY KEY

票数 19
EN

Stack Overflow用户

发布于 2019-02-12 16:44:51

在创建表的时候创建它是很有用的,可以这样做:

代码语言:javascript
复制
CREATE TABLE name_of_a_new_table (col1 variable_type_1, col2 variable_type_2,
       INDEX idx_col1 (col1), INDEX idx_col2 (col2));
票数 4
EN

Stack Overflow用户

发布于 2015-06-04 02:01:34

你看过MySQL手册了吗?InnoDB支持快速创建索引,也许这正是您想要的:

https://dev.mysql.com/doc/refman/5.5/en/innodb-create-index.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30627258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档