ren*_*rof 11 sql sql-server performance sql-server-2008
检索位或char(1)有什么性能差异吗?
只是为了好奇=]
更新:我正在使用SQL Server 2008!
mar*_*c_s 18
对于SQL Server:BIT
单个字节中最多可以存储8列类型,而每个类型的列CHAR(1)
将占用一个字节.
另一方面:BIT
列可以有两个值(0 = false,1 = true)或根本没有值(NULL) - 而a CHAR(1)
可以有任何字符值(更多可能性)
所以真的,它归结为:
BIT
CHAR(1)
从性能的角度来看,我认为它没有任何显着差异 - 除非你有成千上万的专栏.当然,使用BIT
哪个可以在单个字节中存储多达8列将是有益的.但是,对于你的"普通"数据库案例,你有几个,十几个这样的列,它确实没有太大的区别.选择适合您需求的色谱柱类型- 不要过分担心性能......