数据库中将整数存储为字符串的缺点

2024-04-20 14:37:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有我需要存储的产品的id值。现在它们都是整数,但我不确定将来的数据提供程序是否会将字母或符号引入到这个组合中,所以我正在讨论现在是将其存储为整数还是字符串。

将值保存为字符串是否有性能或其他缺点?


Tags: 数据字符串程序id产品字母符号整数
3条回答

不要考虑性能。想想意义。

ID“数字”不是数字,只是用所有数字的字母表书写。

如果我有12号零件和14号零件,两者之间有什么区别?零件号2或-2有意义吗?没有

零件号(以及任何没有测量单位的零件)不是“数字”。它们只是一串数字。

例如,美国的邮政编码。电话号码。社会保障号码。这些不是数字。在我的镇上,邮政编码12345和12309的区别不在于从我家到市中心的距离。

不要把数字和单位混为一谈,其中和和和差是指没有和或差的数字串。

部件ID号是字符串。不是整数。它们永远不会是整数,因为它们没有和、差或平均数。

这真的取决于你在说什么样的身份证。如果这是一个类似电话号码的代码,那么最好使用varchar作为id,然后使用自己的id作为db的序列号和主键。在整数没有数值的情况下,通常首选varchar。

除非您真的需要整数的特性(即进行算术运算的能力),否则最好将产品id存储为字符串。您永远不需要做任何事情,比如将两个产品id相加,或者计算一组产品id的平均值,因此不需要实际的数字类型。

将产品id存储为字符串不太可能导致性能上的可测量差异。虽然存储大小会略有增加,但无论如何,产品ID字符串的大小可能比数据库行其余部分中的数据小得多。

如果数据提供者决定开始使用字母或符号字符,那么现在将产品id存储为字符串将在将来为您省去很多麻烦。没有真正的负面影响。

相关问题 更多 >