【问题标题】:Add column to existing multi-column index将列添加到现有的多列索引
【发布时间】:2016-11-07 01:04:04
【问题描述】:

在我的表中,我有一个列(名称、文件夹)的多列索引

我最近添加了一个名为 date 的新列,我想在其中放入索引,但我想将其放入现有的多列索引中

当我做Alter table books add index theindex (date); 我得到Duplicate key name 'theindex'

如何在不创建新键的情况下向索引添加另一列?

【问题讨论】:

    标签: mysql indexing


    【解决方案1】:

    只需将语法更改为以下方式即可将新列添加到索引:

    ALTER table `books` DROP INDEX theindex;
    ALTER table `books` ADD INDEX theindex (`date`, `time`);
    

    【讨论】:

    • 但是我想把它放在同一个id中
    • @user4757174 不能有两个具有相同 ID 的索引。
    • 如果我可以使用多列索引,例如,如果您在创建索引查询中放置两列
    • 在旧版本中,在同一个ALTER 中同时执行DROPADD 的速度会快一倍。
    • 如果您不需要保留索引名称并希望在架构迁移期间保持查询性能,请考虑先添加新的多列索引,然后删除旧的。
    猜你喜欢
    • 1970-01-01
    • 2012-01-12
    • 1970-01-01
    • 2021-04-01
    • 2016-05-03
    • 2016-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多