MySQL群集使用自动递增的BIGINT唯一主键切分表

MySQL群集使用自动递增的BIGINT唯一主键切分表,mysql,sharding,Mysql,Sharding,我有一个假设的表,它有一个自动递增的BIGINT唯一主键。如果我选择切分表,主键BIGINT会发生什么变化?分片是否允许超出BIGINT的容量?切分可以防止出现重复的关键点吗 先谢谢你 据我所知,NDB存储引擎根据第一个主键列在碎片数量上的模数进行碎片分割。它这样做是为了确定在哪个节点上存储行,并且确定在查询请求行时从哪个节点读取 这意味着不能在多个碎片上存在相同的主键值。换句话说,BIGINT中的值的范围在碎片之间进行划分 所以不,你不能超过BIGINT中的值的范围。尽管我质疑为什么你甚至需要

我有一个假设的表,它有一个自动递增的BIGINT唯一主键。如果我选择切分表,主键BIGINT会发生什么变化?分片是否允许超出BIGINT的容量?切分可以防止出现重复的关键点吗


先谢谢你

据我所知,NDB存储引擎根据第一个主键列在碎片数量上的模数进行碎片分割。它这样做是为了确定在哪个节点上存储行,并且确定在查询请求行时从哪个节点读取

这意味着不能在多个碎片上存在相同的主键值。换句话说,BIGINT中的值的范围在碎片之间进行划分

所以不,你不能超过BIGINT中的值的范围。尽管我质疑为什么你甚至需要问,因为BIGINT非常非常大,你不可能耗尽一个BIGINT,除非你每行跳过数十亿个id值

是的,将值映射到节点意味着可以在每个节点上执行唯一密钥检查。但是,在使用复制时有一些注意事项。阅读