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)可以有任何字符值(更多可能性)
所以真的,它归结为:
BITCHAR(1)从性能的角度来看,我认为它没有任何显着差异 - 除非你有成千上万的专栏.当然,使用BIT哪个可以在单个字节中存储多达8列将是有益的.但是,对于你的"普通"数据库案例,你有几个,十几个这样的列,它确实没有太大的区别.选择适合您需求的色谱柱类型- 不要过分担心性能......