-2

我正在开发一个 discord.py 机器人。我从 sqlite3 切换到 postgresql(特别是 asyncpg)并且value out of int32 range在尝试存储公会 ID 时遇到了错误。我可以通过使用 bigint 之类的东西来解决这个问题,但我担心它会占用太多空间?改用字符串会更好吗?

[编辑]:我使用的数字是 18 位数字

4

2 回答 2

1

一定要使用bigint

18 位数字非常适合 a bigint,它只需要 8 个字节。一个字符串至少每个字符占用一个字节加上一个字节的 TOAST 标头。

此外,bigint硬件支持比较并且速度更快。

于 2020-09-25T20:18:49.197 回答
-1

所有评论都被删除了,所以我只是要回答这个问题。根据我所见,bigint 最多可达 20 位数。Discord id 非常接近 20 位数,因此最好的解决方案是使用字符串。

于 2020-09-25T19:44:31.663 回答