我知道这是一个愚蠢的问题,但我想知道在数据库而不是char中保存int值时的好习惯。
当我想在数据库中保存数周时。
我认为如果我们在数据库中保存char值,则更具描述性。 那么告诉我哪一个好,为什么? 是否有任何性能问题?
答案 0 :(得分:5)
char
并未使其更具描述性。如果您要将该值用于数据库中的任何内容,则无论如何都必须将其转换为数字。
如果最大值为52/53(取决于周/等),则使用tinyint
。否则使用其他autovacuum_analyze_threshold
。
另一个潜在的问题是排序。如果您要对星期进行排序,是否要存储前导零,以便他们排序以便使用char
数据类型,或者将其排序为1, 11, 12..
?
答案 1 :(得分:3)
这句话是问题所在:
我认为如果我们将数据库中的char值保存为更具描述性的
数据库中的值不应设计为描述性的。
应该始终将值存储在适当的数据类型中!
想象一下你需要计算差异。您必须拆分/解析字符串,将其转换为数字类型,进行计算并重新格式化输出。
描述性是您应该只与表示层,报告和前端结合使用的词。