使用字符串比BIGINT更好? PostgreSQL的

问题描述

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

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

解决方法

请务必使用bigint

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

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

,

所有评论都被删除,因此我将回答这个问题。根据我的观察,bigints最多可以增加20位数字。不和谐ID几乎达到20位数字,因此最好的解决方案是使用字符串。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...