You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MariaDB中分区表的AUTO_INCREMENT自增ID是否全局唯一?

回答结论

带AUTO_INCREMENT属性的自增字段,在预定义分区策略的分区表中是所有分区范围内全局唯一,不会仅在单个分区内保证唯一。

底层逻辑说明

  • 分区是MySQL层面的逻辑表拆分,对上层业务暴露的始终是单表形态,p0_my_table/p1_my_table/p2_my_table/p3_my_table只是底层独立存储的物理文件,自增序列的维护是表级行为,和分区无关:
    • 自增计数器、自增锁都是表级资源,不会为每个分区单独维护独立的自增序列
    • 数据插入流程是:先拿到表级分配的全局唯一自增id,再根据分区路由规则把整行数据写入对应分区,不存在分区自行生成id的逻辑
  • 以my_table为例,无论你采用RANGE、LIST还是HASH分区策略,正常插入数据时生成的自增id不会出现跨分区重复的情况,全局唯一约束始终生效。

边界注意点

  • 如果建分区表时没有把自增id字段纳入主键、唯一键的字段集合,MySQL会直接抛出建表错误,根本无法完成分区表创建,不存在分区独立生成自增id的运行场景。
  • 手动调整自增起始值、单独给分区批量导入数据这类运维操作,可能造成自增id断层,但不会破坏id的全局唯一性,不会出现跨分区id重复的问题。

内容的提问来源于stack exchange,提问作者Swastik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 13:21:25