Ho bisogno di memorizzare un array di bit per ogni record di una tabella, supportando le seguenti operazioni:
Verifica se è impostato un bit e impostazione di un bit (utilizzando SQL)
Interrogazione e impostazione del valore tramite ADO 2.8 (non ADO.NET)
Indicizzazione (per beneficiare della funzione "indice di copertura")
Il numero massimo di bit da memorizzare in questo array è fisso, ma può superare 32 . Cioè, una semplice colonna int non funziona sempre.
Da quello che ho visto finora, le mie opzioni sono:
- Usa diverse colonne int
- Usa bigint (funziona fintanto che il numero di bit è <= 64)
- Usa binario
- ?
La prima opzione funzionerebbe, ma richiederebbe un po 'di refactoring nel codice che accede ai dati. La seconda opzione è solo un sollievo temporaneo, e dalle mie ricerche finora non sono troppo sicuro se ADO funzioni così bene con bigint . Non ho esperienza con il binario e non sono a conoscenza di altre opzioni.
Quale tipo di dati sceglieresti, dati i requisiti?