gpt4 book ai didi

mysql - mysql AUTO_INCREMENT 如何工作?

转载 作者:行者123 更新时间:2023-11-29 00:36:59 26 4
gpt4 key购买 nike

mysql AUTO_INCREMENT doc ,我没有找到关于它如何在插入时选择新 id 的详细解释,

它是缓存“最大数字”键,还是找到未使用的最小 ID?对源代码的任何引用?

编辑:

我已经测试过了,看起来它不会重用已删除项目的 ID,但我不确定。我想使用 id 作为订购的时间戳,所以我必须 100% 确定它是这样的,这意味着这个逻辑解释应该有一个可信的引用,无论是在源代码还是在 mysql 文档中..

最佳答案

它不会选择未使用的最小数字。它总是将 1 添加到它分配的最后一个 ID。这将是一个恒定时间的操作。 (与选择未使用的最小数字相反,这将是线性时间*)。

例如,如果您插入 10 行,则删除第 5 行。下一个插入的行的 ID 为 11,而不是 5。

通过在删除时接受惩罚,可以很容易地将此​​操作优化为常数时间(在插入时)。然而,这不是 MySQL 所做的。

关于mysql - mysql AUTO_INCREMENT 如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13801261/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com