SQL Server:varbinary或int来存储位掩码?
-
03-07-2019 - |
题
使用int vs varbinary在性能或灵活性方面存储位掩码是否有任何优势。
出于我的目的,我将一直在读取这些位掩码(没有写入或更新)。
其他提示
通常认为最好使用一堆位列而不是位掩码。它们将在页面中打包在一起,因此它们不会占用更多空间。虽然我似乎总是使用int或bigint列来避免所有列名称输入..但是使用intellisense我可能会使用位列。
好吧,考虑到int的存储空间较少,通常更容易使用,我不知道你为什么要使用varbinary。
我通常同意@ hainstech使用位字段的答案,因为您可以明确地命名每个位字段以指示它应该存储的内容。但是我还没有看到用位域进行位掩码比较的实用方法。使用SQL Server的按位运算符(&,|等等),可以很容易地找出是否设置了一系列标志。使用相等运算符对大量位字段做更多的工作。
不隶属于 StackOverflow