当前位置:  开发笔记 > 后端 > 正文

为什么auto_increment id不会逐个增加,如何设置呢?

如何解决《为什么auto_incrementid不会逐个增加,如何设置呢?》经验,为你挑选了1个好方法。

我有一个MariaDB Galera集群(3个节点),我设置uid为自动增加并成为表的主键

 `uid       | int(11)     | NO   | PRI | NULL    | auto_increment`. 


 MariaDB [hello_cluster]> select uid from table order by uid limit 10;
    +-----+
    | uid |
    +-----+
    |   3 |
    |   6 |
    |   9 |
    |  12 |
    |  15 |
    |  18 |
    |  21 |
    |  24 |
    |  27 |
    |  30 |
    +-----+

我尝试了以下命令,但它不起作用

 alter table uid AUTO_INCREMENT=1

user2864740.. 19

这是设计使然并在MariaDB Galera Cluster中报告- 已知限制:

不要依赖自动增量值来顺序.Galera使用基于自动增量增量的机制来产生唯一的非冲突序列,因此在每个节点上序列都会有间隙.

在使用多主机管理自动增量中解释了理性,这也是观察到的自动增量与群集数量具有相同步骤的原因.

MySQL具有系统变量auto_increment_increment和auto_increment_offset,用于管理多主环境中的自动增量"序列".使用这些变量,可以设置多主复制,其中每个主节点中的自动递增序列交错,并且群集中不应发生冲突.无论哪个主人获得INSERT.

即使没有集群,由于事务回滚和删除的记录,依赖自动增量列成为密集序列也很少"好".



1> user2864740..:

这是设计使然并在MariaDB Galera Cluster中报告- 已知限制:

不要依赖自动增量值来顺序.Galera使用基于自动增量增量的机制来产生唯一的非冲突序列,因此在每个节点上序列都会有间隙.

在使用多主机管理自动增量中解释了理性,这也是观察到的自动增量与群集数量具有相同步骤的原因.

MySQL具有系统变量auto_increment_increment和auto_increment_offset,用于管理多主环境中的自动增量"序列".使用这些变量,可以设置多主复制,其中每个主节点中的自动递增序列交错,并且群集中不应发生冲突.无论哪个主人获得INSERT.

即使没有集群,由于事务回滚和删除的记录,依赖自动增量列成为密集序列也很少"好".

推荐阅读
围脖上的博博_771
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有