MySQL:向分区表和非分区表添加新列的性能

时间:2017-10-27 07:31:27

标签: mysql database-performance partitioning

我已经搜索了很多但是在下面的场景中找不到任何信息。

考虑InnoDB表,行数超过500,000,约20列,INDEX约5列。

当此表为:

时,执行“ALTER TABLE”查询以在此类表上添加新列的性能差异是什么?

  1. 在主键(整数)上使用HASH分区进行分区,v / s
  2. 未分区

1 个答案:

答案 0 :(得分:0)

直截了当地说,PARTITION BY HASH没有提供任何性能提升。所以,甚至不要考虑使用它。

至于你的具体问题,我会猜测非分区会更快。这是逻辑:

分区表实际上是一堆“子表”的包装器。 ADD INDEX需要修改每个子表。虽然添加列的行数总和相同,但是有更多的“表”需要额外的开销。