MYSQL PARTITION BY HASH / KEY / LIST 分区

迁移特征 partition_hash_list_key 的规则事实、精确目标横向结论与可执行验证路径。产品家族相似性不作为精确版本结论的依据。

pendingminorhighmy.ddl.partition_hash_list_key

场景说明

该场景属于“DDL 与数据库对象”,适用于 sql、mybatis。权威状态:待核验,不进入权威统计。

正向识别示例

以下均来自规则库中 should_hit=true 的合成公开示例,不是客户代码。

CREATE TABLE t (id INT) PARTITION BY HASH (id) PARTITIONS 8
CREATE TABLE t (region VARCHAR(8)) PARTITION BY LIST COLUMNS (region) (PARTITION p_east VALUES IN ('SH','JS'))

21 个精确目标版本 / 模式

目标支持度证据等级公开边界深入核对
OceanBase 4.3.5 MySQL 模式partialdoc_based未登记额外公开说明,按来源与验证步骤复核。改造点
openGauss 6.0 B 模式(Dolphin)partialdoc_based未登记额外公开说明,按来源与验证步骤复核。改造点
TiDB 8.5partialdoc_based未登记额外公开说明,按来源与验证步骤复核。改造点
展开 18 个 unknown / undeclared 结论
达梦 DM8unknownunverified当前事实源不足,不推断兼容。
GaussDB 505(ORA 模式)unknownunverified当前事实源不足,不推断兼容。
GBase 8sunknownunverified当前事实源不足,不推断兼容。
GoldenDB V6unknownunverified当前事实源不足,不推断兼容。
瀚高 HGDB 4.5unknownunverified当前事实源不足,不推断兼容。
人大金仓 KingbaseES V8unknownunverified当前事实源不足,不推断兼容。
OceanBase 4.2.5 MySQL 模式unknownunverified当前事实源不足,不推断兼容。
OceanBase 4.2.5 Oracle 模式unknownunverified当前事实源不足,不推断兼容。
OceanBase 4.3.5 Oracle 模式unknownunverified当前事实源不足,不推断兼容。
openGauss 5.0 A 模式undeclaredunverified当前事实源不足,不推断兼容。
openGauss 6.0 A 模式undeclaredunverified当前事实源不足,不推断兼容。
磐维 PanWeiDB 2.0unknownunverified当前事实源不足,不推断兼容。
磐维 PanWeiDB 3.0 A 模式unknownunverified当前事实源不足,不推断兼容。
PolarDB(Oracle 兼容)2.0unknownunverified当前事实源不足,不推断兼容。
PostgreSQL 16 + orafce 4.16undeclaredunverified当前事实源不足,不推断兼容。
PostgreSQL 16undeclaredunverified当前事实源不足,不推断兼容。
神通数据库 7unknownunverified当前事实源不足,不推断兼容。
TDSQL Boundlessunknownunverified当前事实源不足,不推断兼容。

改造与验证路径

推荐方向

db_side · HASH 的源路由为 MOD(expr,num);改 PostgreSQL HASH 等目标原生哈希时接受重分布,若必须保留旧 partition-name/selection 契约则以源 MOD 表达式生成路由键并按余数建叶表;HASH/KEY 的 NULL 视为 0;KEY() 无列时先解析主键,无主键时解析全列 NOT NULL UNIQUE key,KEY(...) 及 ALGORITHM=1/2 不复制内部哈希,改稳定业务键/HASH 后接受重分布;LINEAR 的 2 的幂路由需改普通 HASH 或自定义路由;LIST/LIST COLUMNS 未列值及未显式列出的 NULL 保持失败,不默认创建 DEFAULT,只有业务批准时才将其作为明确行为变更

库侧

按分支重建键、算法、分区数和唯一约束;KEY/LINEAR 迁移通过影子表全量重路由 · 风险 manual

应用侧

分区算法与数据布局属于数据库结构 · 风险 manual

验收步骤

覆盖 HASH/KEY 的 NULL 视为 0、源 MOD 与目标原生哈希重分布、保名仿真路由、KEY() 的主键或无主键时 NOT NULL UNIQUE 隐式列、ALGORITHM=1/2 和 LINEAR 2 的幂重分布;验证 LIST 未列值/NULL 报错,DEFAULT 仅作为批准后的行为变更;并核对 partition-name/selection、collation、热点倾斜、唯一键、每分区行数/校验和及裁剪计划

公开来源