一尘不染

SQL:最好用位或字符(1)

sql

检索bit或char(1)有什么 性能 差异?

只是出于好奇=]

更新:假设我正在使用SQL Server 2008!


阅读 203

收藏
2021-03-10

共1个答案

一尘不染

对于SQL Server:BIT单个字节内最多可以存储8个类型的列,而每个类型的列CHAR(1)将占用一个字节。

另一方面:一BIT列可以有两个值(0 =否,1 =真)或根本没有值(NULL)-而aCHAR(1)可以具有任何字符值(更多可能性)

因此,实际上可以归结为:

  • 您是否真的需要一个真/假(是/否)字段?如果是这样:使用BIT
  • 您是否需要一些不仅具有两个可能值的东西-使用 CHAR(1)

从性能的角度来看,我认为这没有什么大的不同-
除非您有成千上万的列。那么,当然,使用BIT一个字节最多可以存储8列将是有益的。但是再说一遍:对于您的“普通”数据库案例,那里有几列,十几列,实际上并没有太大的区别。选择
适合您需要 的列类型-不要过分担心性能.....

2021-03-10