使用字符串处理大数字比BIGINT更好?(postgresql)



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

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

使用bigint

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

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

最新更新