能否向已存在的索引键中添加额外列?MySQL FULLTEXT索引实操疑问
结论
MySQL 所有存储引擎(包括你使用的 InnoDB 引擎)均不支持直接修改已存在的 FULLTEXT 索引的列构成,无法直接将 column2 追加到已创建的 ft_col 索引中,你需要先删除错误创建的单列索引,再重建覆盖两列的目标索引。
操作步骤
- 第一步:删除错误创建的单列表FULLTEXT索引
ALTER TABLE fruits DROP INDEX ft_col;
- 第二步:新建覆盖
column1、column2两列的FULLTEXT索引
ALTER TABLE fruits ADD FULLTEXT ft_col (column1, column2);
补充说明
如果你的fruits表数据量较大,重建FULLTEXT索引会产生较多磁盘IO,同时会对表加元数据锁,建议选择业务低峰期执行操作,避免影响线上业务。
内容的提问来源于stack exchange,提问作者Payel Senapati
相关产品推荐
相关产品推荐

