Necesito almacenar una matriz de bits para cada registro de una tabla, admitiendo las siguientes operaciones:
Probar si se establece un bit y establecer un bit (usando SQL)
Consultar y establecer el valor usando ADO 2.8 (no ADO.NET)
Indexación (para beneficiarse de la función "índice de cobertura")
El número máximo de bits que se almacenarán en esta matriz es fijo, pero puede superar los 32 . Es decir, una columna int simple no siempre funciona.
Por lo que he visto hasta ahora, mis opciones son:
- Use varias columnas int
- Use bigint (funciona siempre que el número de bits sea <= 64)
- Usar binario
- ?
La primera opción funcionaría, pero requiere un poco de refactorización en el código que accede a los datos. La segunda opción es solo un alivio temporal, y de mis búsquedas hasta ahora no estoy muy seguro de si ADO funciona tan bien con bigint . No tengo experiencia con binarios , y no conozco ninguna otra opción.
¿Qué tipo de datos elegiría, dados los requisitos?