实现IsDeleted列的最佳数据类型

时间:2013-06-26 14:51:26

标签: sql-server-2008-r2

我想在名为“Isdeleted”的用户表中添加一个新列,它只能有两个值(Y,N)。但是我可以用于此列的最佳数据类型是什么。我在想添加一个varchar(1)? ,但是有更好的数据类型可以满足我的需求吗? BR

1 个答案:

答案 0 :(得分:1)

BIT怎么样?只能是0(= false),1(= true)或NULL(如果允许;未确定)。一个字节内最多可以存储8个BIT

VARCHAR(1) 非常糟糕因为它会为每列使用1-3个字节的存储空间。

如果您想使用基于字符的列类型 - 请务必使用CHAR(1) varchar!)。对于单个字符,可变长度存储的所有开销(至少每个字节2个字节!)绝对浪费....这适用于所有非常短的字符串 - 例如3字符ISO国家或货币代码等 - 那些最佳存储在固定的CHAR(n)数据类型列中