当前位置: 首页 > 面试题库 >

SQL Server:varbinary或int存储位掩码吗?

钱劲
2023-03-14
问题内容

在性能或灵活性方面,使用int vs varbinary存储位掩码是否有任何优势。

出于我的目的,我将始终在这些位掩码上进行读取(不进行写入或更新)。


问题答案:

绝对应该使用INT(如果需要32个标志)或BIGINT(对于64个标志)。如果需要更多标志,则可以使用BINARY(但您可能还应该问自己,为什么在应用程序中需要这么多标志)。

此外,如果使用整数类型,则可以直接使用标准的按位运算符,而无需将字节数组转换为整数类型。

如果确实需要更多标志并且必须使用,BINARY则会失去对按位运算符的本机支持,因此容易获得检查标志值的支持。我可能会将检查标志值的检查移到客户端应用程序,但是如果您愿意使用T-
SQL进行编程,那么也可以选择这样做。如果您使用的是C#,那么您将拥有一个BitArray具有必要操作的类,而在Java中,您将拥有一个BitSet类。



 类似资料:
  • 问题内容: 我有以下几点: 我想了解如何计算得出以下结果,例如: 12414 我对位掩码的工作原理一无所知,如果有人能给出一些提示并解释它如何达到这个数字,我将不胜感激。 问题答案: 该表达式等效于2的n次幂。 您撰写本文时,只要和相同,就不同。因此,您可以根据需要以简单的添加方式来考虑它。 数以二进制是所以它是下列标志的总和(或按位OR): 请注意,当从右到左读取时,包含的标志对应于在12414

  • 我试图找到/创建一个位旋转算法,该算法在-bit-count位掩码中生成s的所有

  • 本文向大家介绍Java位掩码控制权限与(&)或(|)非(~)、>的介绍,包括了Java位掩码控制权限与(&)或(|)非(~)、>的介绍的使用技巧和注意事项,需要的朋友参考一下 1. java 位掩码 java 位掩码,在java开发中很少有场景会用到掩码,但是当系统中需要判断某个对象是否有 某些权限时,可以通过位掩码来做。 位掩码 主要通过位运算,例如与(&)、非(~)、或(|)、异或(^)、移位

  • 我有一些关于位图解码的问题。 > 当我尝试使用BitMapFactory.DecodeByteArray从Byte[]数组解码位图时,结果位图中的param Byte[]和mBuffer Byte[]有什么不同。当函数返回时,位图仍然保留对Byte[]参数的引用吗? 当我使用以下代码从sdcard的jpg文件解码位图时: 该jpg文件分辨率为10800*5400,大小为13.82M,结果位图不为空

  • 我试图了解国际象棋编程中的位板表示是如何工作的,但我找不到关于一个细节的有用信息(或者只是无法正确翻译它^^)。我的问题是,如何自动生成掩码,以便在每个位置上移动每一个棋子。我假设它是一个矩阵,其中每个棋子类型都定义了他可以从该位置移动的每个字段(wP、bP、K、R、N、B的数组[5][64])。例如,对于下面的Rook on位置,只允许位置是: 我假设我必须为每一块类型和每一块瓷砖创建类似的东西

  • 介绍 Cpumasks 是Linux内核提供的保存系统CPU信息的特殊方法。包含 Cpumasks 操作 API 相关的源码和头文件: include/linux/cpumask.h lib/cpumask.c kernel/cpu.c 正如 include/linux/cpumask.h 注释:Cpumasks 提供了代表系统中 CPU 集合的位图,一位放置一个 CPU 序号。我们已经在 Ker