在数据库int或char中保存值的好习惯是什么?

时间:2017-02-15 13:18:58

标签: sql sql-server database sql-server-2008

我知道这是一个愚蠢的问题,但我想知道在数据库而不是char中保存int值时的好习惯。

当我想在数据库中保存数周时。

我认为如果我们在数据库中保存char值,则更具描述性。 那么告诉我哪一个好,为什么? 是否有任何性能问题?

2 个答案:

答案 0 :(得分:5)

char并未使其更具描述性。如果您要将该值用于数据库中的任何内容,则无论如何都必须将其转换为数字。

如果最大值为52/53(取决于周/等),则使用tinyint。否则使用其他autovacuum_analyze_threshold

另一个潜在的问题是排序。如果您要对星期进行排序,是否要存储前导零,以便他们排序以便使用char数据类型,或者将其排序为1, 11, 12..

答案 1 :(得分:3)

这句话是问题所在:

  

我认为如果我们将数据库中的char值保存为更具描述性的

数据库中的值不应设计为描述性的

应该始终将值存储在适当的数据类型中!

想象一下你需要计算差异。您必须拆分/解析字符串,将其转换为数字类型,进行计算并重新格式化输出。

描述性是您应该只与表示层,报告和前端结合使用的词。