我将存储从 0 到 7 的状态,考虑到 Postgres 数据库的性能和空间,我想知道哪个类型字段更适合存储:varchar(1) 或smallint。
对了,设置一个字段varchar(1)和varchar(100)有什么区别吗,还在讨论性能和空间吗?
在我看来,你打错了仗。您担心存储整数而不是单个字符字段对性能的影响,在我看来这是短视的想法。整数与单个字符对性能的实际影响是微不足道的,我怀疑这是否可以有意义地衡量。根据我的经验,减少系统开发人员和用户的认知负担更为重要,因此最好使用足够长的字符字段来包含对状态的合理描述,而不是数字值或单字符缩写。不必记住 1、2、“A”或“X”的含义非常有帮助。我建议使用易于理解的值,例如“READY”、“ACTIVE”、“PROCESSED”、“CANCELLED”等,而不是这些缩写值。
至于问题的第二部分 - 不是真的。移动较长的字符串可能需要一些微不足道的时间,但除非您正在谈论数百万个值,否则这是微不足道的。
祝你好运。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)