解决方法
对于sql Server:在单个字节中最多可以存储8个BIT类型的列,而CHAR(1)类型的每个列将占用一个字节.
另一方面:BIT列可以有两个值(0 = false,1 = true)或根本没有值(NULL) – 而CHAR(1)可以有任何字符值(更多可能性)
所以真的,它归结为:
>你真的需要一个真/假(是/否)字段吗?如果是这样:使用BIT
>你需要的东西不仅仅是两个可能的值 – 使用CHAR(1)
从性能的角度来看,我认为它没有任何显着差异 – 除非你有成千上万的专栏.当然,使用可在单个字节中存储多达8列的BIT将是有益的.但是,对于你的“正常”数据库案例,你有几个,十几个这样的列,它确实没有太大的区别.选择适合您需求的色谱柱类型 – 不要过分担心性能……