gpt4 book ai didi

database - 为什么使用应用程序生成自定义 uuid 而不是数据库 id?

转载 作者:搜寻专家 更新时间:2023-10-30 20:27:58 25 4
gpt4 key购买 nike

为什么我应该使用应用程序生成 UUID 而不是使用数据库 ID?有优势吗?

我看到许多应用生成 UUID 以防止冲突。那么这有可能发生在像 mysql 或 mongodb 这样的数据库 ID 中吗?

最佳答案

使用随机 UUID 而不是依赖数据库 ID 的一个理论上的原因是能够在不锁定和递增计数器,甚至不查找唯一索引的情况下并行插入新记录。

如果你有一个自动递增字段,就需要一些东西来维护这个计数器。保证自动递增功能正常工作的唯一方法是在递增时锁定这个计数器,或者用它做一些其他的事务处理。如果您有一个随机 ID,则不必这样做。

另一个原因是能够在 master-master 环境中执行并行分布式插入。当不同的数据库服务器访问相同的数据时,在两个服务器之间维护共享计数器的成本会更高,因此最好从一开始就放弃它并使用随机标识符。

但这些理由在实践中很少适用。您需要大量的 INSERT 流量才能获得返回。我想大多数 UUID 的使用不是出于必要,而是因为对它们的真正用途“冷漠”或无知。

关于database - 为什么使用应用程序生成自定义 uuid 而不是数据库 id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21605377/

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