- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 innodb_autoinc_lock_mode = 2 的 MySQL my.cnf 文件设置,但查看表时,主键有时不遵循该规则。我主要有:
710
712
714
716
718
等等...这很好。
但在一些记录中我有:
720
722
723
724
725
726
728
730
等...
应该始终遵循增加 2 还是更多的建议?
我们有一个集群环境,这就是为什么他设置了增量2。尽量避免可能的键冲突。
我们需要遵循一些发票开具准则,并证明发票编号顺序没有间断。这会导致序列出现问题,因为我们使用主键 ID 作为发票编号。
在集群环境中设置 innodb_autoinc_lock_mode = 1
是个坏主意吗?
寻找有关如何实现无缝发票编号的最佳建议。
最佳答案
您对 AUTO_INCREMENT
要求太多。它保证了唯一的编号。时期;句号。
auto_increment_increment
大于 1 是“Master-Master”复制首次使用的技术,以防止重复。后来各种“集群”解决方案采取了相同的策略。因为它有效。
我注意到您的列表中偶尔出现奇数。一位大师在做偶数,另一位大师在做奇数,但插入频率较低。任何避免间隙的尝试都会显着减慢处理速度。对于 99.9% 的用户来说,这比担心差距更重要。
我不是在讲课。在几种情况下会出现差距。显然,DELETE
会留下空白。但它们有时会在它们的尾迹中留下新的空白:INSERT IGNORE
、IODKU、REPLACE
、ROLLBACK
。同样,您不能相信这些值会单调递增。
innodb_autoinc_lock_mode
在某些情况下可能有帮助,但在其他情况下可能没有帮助。它是在开发人员发现一种稍微更快的 AI 方法时添加的,但同样以值(value)的可预测性为代价。
好的,您想要连续的发票编号,它们永远不会被删除,等等。您最好的选择是拥有一个获取“下一个”发票编号的“服务”(API)。想象一个只有一行一列的表格。并编写一个存储过程来递增该数字并将其返回给客户端。然后客户在需要发票编号的任何地方使用该编号。
您可以根据请求发票编号的时间使编号连续。根据插入发票的时间,可能很难使它们连续。作为“发票”,您可能应该删除它们,而是使用某种“已删除”标志来处理错误、取消等。
关于MySQL auto_increment innodb_autoinc_lock_mode = 2 但有时仍按顺序填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53229796/
我有 innodb_autoinc_lock_mode = 2 的 MySQL my.cnf 文件设置,但查看表时,主键有时不遵循该规则。我主要有: 710 712 714 716 718 等等...
我想将 MySQL 变量 innodb_autoinc_lock_mode 从默认值 1 更改为 0,因为它会导致使用 INSERT IGNORE 等查询的应用程序中的自动增量 ID 间隙出现问题。
如何更改全局变量innodb_autoinc_lock_mode MySQL 中的值是 1 到 0? 最佳答案 打开您的 my.cnf并添加以下行: innodb_autoinc_lock_mode
我需要更改 innodb_autoinc_lock_mode 值,我可以在 phpMyAdmin 上执行此操作吗?该值还可以设置为特定数据库或整个服务器吗? 最佳答案 由于这是一个 MySQL 运行时
大家好,我目前正在本地 xampp 服务器上测试我的项目。我需要更改 innodb_autoinc_lock_mode,但我不知道该怎么做。有人知道怎么做吗? 最佳答案 在xampp\mysql\bi
即使使用,我的自动递增键也会出现间隙 innodb_autoinc_lock_mode = 0 我将问题隔离到单个 INSERT ... SELECT 语句。基本上,每个 INSERT ... SEL
我是一名优秀的程序员,十分优秀!