gpt4 book ai didi

mysql - 重置活跃的MySQL数据库中的标识符

转载 作者:行者123 更新时间:2023-11-29 06:18:22 25 4
gpt4 key购买 nike

我有一个MySQL数据库,该数据库用于存储从远程用户收到的更新数据包。每进行五到十次更新,就会运行一些其他代码,这些代码实际上会创建一个集体更新数据包。这种方法允许用户获取应用程序的最新信息,而不必从更新数据包零重新生成状态。

我了解重用数据库索引通常是一个坏习惯,因为您最终会破坏关系引用。就我而言,没有辅助表引用我的更新数据包数据。索引仅由客户端应用程序用来确定哪些更新尚未处理。经过几个月的典型使用,由于对集体更新数据包的访问,我的自动增量索引无疑会变得非常大,并且远远超出了必要的值。因此,在我的特定情况下,在生成集体更新数据包之后重置索引是否有意义并且会被首选?

我没有大量的数据库经验,所以我可能在这里忽略了一种技术-如果是这样,请指出正确的方向。谢谢!

最佳答案

我发现这个问题有些令人困惑,直到我意识到您使用术语“索引”来指代我们通常所说的“标识符”。

是的,重用主键值通常被认为是不好的做法。 (理想情况下,主键值是简单,唯一,不可变和匿名的。)

您的意思是在表上有一个AUTO_INCREMENT列,并且正在向表中插入很多行,并且此值未用作表上的PRIMARY KEY。 (由于没有引用该表的外键,因此该表不必定义PRIMARY KEY。)

我只想使用BIGINT UNSIGNED的数据类型,它将给我大约10 ** 19个可能的值。

我看不到需要重设AUTO_INCREMENT值。无论如何,都不可能将其重置为低于存储的最大值,因此将其设置为较低将需要从表中删除行。

关于mysql - 重置活跃的MySQL数据库中的标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5206823/

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