MySQL 8.0 分区表的改进

MySQL 8.0 对于分区表功能进行了较大的修改,在 8.0 之前,分区表在Server层实现,支持多种存储引擎,从 8.0 版本开始,分区表功能移到引擎层实现,目前MySQL 8.0 版本只有InnoDB存储引擎支持分区表。

1. mysqld不再支持以下参数:

  • –partition
  • –skip-partition

2. 源码编译不再支持以下选项:

  • -DWITH_PARTITION_STORAGE_ENGINE

3. 插件不再支持partition:

SHOW PLUGINS 命令输出以及 INFORMATION_SCHEMA.PLUGINS 表不再显示 partition。

4. alter语句分表区变更:

ALTER TABLE … OPTIMIZE PARTITION 语句对于InnoDB分区表不再有效,使用如下语句代替:

  • ALTER TABLE … REBUILD PARTITION
  • ALTER TABLE … ANALYZE PARTITION

5. 涉及分区表的MySQL版本升级:

目前MySQL 8.0 只有InnoDB存储引擎支持分区表,如果使用其他存储引擎创建分区表,将会报错。如果在5.7及之前的版本里使用非InnoDB的分区表,不支持直接升级到8.0版本,需要先转换成InnoDB表,或者删除分区,然后才能升级到8.0版本。

发表评论