-1

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

4

1 回答 1

1

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

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

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

于 2013-06-26T14:54:34.447 回答