gpt4 book ai didi

database - 在 Postgres 9 中将 UUID 转换为 BIGINT 以在分布式客户端中生成全局 ID 是个好主意吗?

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

我将有几个分布式客户端,它们镜像集中式 postgres 9 数据库中的一些表。该系统将作为数据的双向同步工作。在最坏的情况下,客户端可能会离线数小时和数天(用于现场收集数据的移动客户端)

因此,我需要在客户端中插入并为它们生成一个全局 ID。目前我有一个 GUID 字段,但随便看看 http://docs.python.org/2/library/uuid.html发现 GUID 可以转换为 INT64 或 BIGINT。

所以我想知道是否可以在客户端生成一个 GUID,将其转换为 BIGINT 并将其用作数据库中的主键(因为通过 INT 加入和搜索比 GUID 或字符更快/更便宜)

最佳答案

将 GUID 压缩为 64 位 INT64 或 BIGINT 听起来不是个好主意,因为 UUID 有 128 位长。

此外,数据库不会将 GUID/UUID 存储为字符串,而是将其存储为 128 位数字,这是一种相当理想且易于索引的格式。

关于database - 在 Postgres 9 中将 UUID 转换为 BIGINT 以在分布式客户端中生成全局 ID 是个好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14775210/

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