我需要为表的每个记录存储一个位数组,以支持以下操作:
测试是否设置了一个位,并设置了一个位(使用SQL)
使用ADO 2.8(而非ADO.NET)查询和设置值
索引编制(为了从“覆盖索引”功能中受益)
此数组中要存储的最大位数是固定的,但可以超过32。也就是说,简单的int列并不总是有效。
到目前为止,我的选择是:
- 使用多个int列
- 使用bigint(只要位数小于等于64即可工作)
- 使用二进制
- ?
第一个选项可以工作,但是需要在访问数据的代码中进行大量重构。第二种选择只是暂时的解决方案,到目前为止,根据我的搜索,我不太确定ADO是否可以与bigint一起使用。我没有使用binary的经验,并且不知道其他任何选项。
根据要求,您会选择哪种数据类型?