MySQL-我可以只创建一个特定分区的索引吗



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

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

在我的公司,我们使用pt在线模式更改来执行模式更改,该脚本允许客户端在alter运行时继续读写表。运行模式更改甚至可能需要更长的时间,但由于它不会阻止客户端,因此不会造成问题。

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

最新更新