【问题标题】:MySQL - Can I create an index only to one particular partitionMySQL - 我可以只为一个特定分区创建索引吗
【发布时间】:2021-01-20 01:46:24
【问题描述】:

由于分区也将表拆分为子表,所以我想知道是否有任何方法可以根据分区名称或id对分区表进行一一索引。我问这个是因为,我的表可以有 10 亿多行并且添加索引查询需要很长时间/天,所以想检查我是否可以根据我认为首先更重要的分区开始添加索引,反之亦然。

【问题讨论】:

标签: mysql partitioning


【解决方案1】:

不,MySQL 没有语法支持在分区表上一次创建一个分区的索引。索引将在一个ALTER TABLECREATE INDEX 语句中添加到所有分区。

在我的公司,我们使用pt-online-schema-change 执行架构更改,这是一个允许客户端在alter 运行时继续读取和写入表的脚本。运行架构更改甚至可能需要更长的时间,但由于它不会阻止客户端,这不会导致问题。

该脚本是 Percona Toolkit 的一部分,Percona Toolkit 是用 Perl 和 Bash 编写的免费开源工具集合。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-29
    • 1970-01-01
    • 2020-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-22
    相关资源
    最近更新 更多