Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想在名为“Isdeleted”的用户表中添加一个新列,它只能有两个值(Y,N)。但是我可以用于此列的最佳数据类型是什么。我只是想添加一个varchar(1)?,但是有更好的数据类型可以满足我的需要吗?BR
怎么样BIT?只能是0(=false)、1(=true) 或NULL(如果允许;未确定)。BIT一个字节内最多可存储 8个。
BIT
0
1
NULL
VARCHAR(1)非常糟糕,因为它将为每列使用 1-3 个字节的存储空间。
VARCHAR(1)
如果您想使用基于字符的列类型 - 无论如何,请使用CHAR(1)(而不是varchar!)。对于单个字符,可变长度存储的所有开销(每列至少2 个字节!)都是绝对浪费的......这适用于所有非常短的字符串 - 例如 3 个字符的 ISO 国家或货币代码等 -这些最好存储在固定CHAR(n)数据类型列中
CHAR(1)
CHAR(n)