Ich muss für jeden Datensatz einer Tabelle ein Bit-Array speichern, das die folgenden Operationen unterstützt:
Testen, ob ein Bit gesetzt ist, und Setzen eines Bits (unter Verwendung von SQL)
Abfragen und Festlegen des Werts mit ADO 2.8 (nicht ADO.NET)
Indizierung (um von der Funktion "Deckungsindex" zu profitieren)
Die maximale Anzahl der in diesem Array zu speichernden Bits ist festgelegt, kann jedoch 32 überschreiten . Das heißt, eine einfache int- Spalte funktioniert nicht immer.
Nach dem, was ich bisher gesehen habe, sind meine Optionen:
- Verwenden Sie mehrere int- Spalten
- Benutze bigint (funktioniert solange die Anzahl der Bits <= 64 ist)
- Verwenden Sie die Binärdatei
- ?
Die erste Option würde funktionieren, erfordert jedoch einige Umgestaltungen im Code, der auf die Daten zugreift. Die zweite Option ist nur eine vorübergehende Erleichterung, und nach meinen bisherigen Recherchen bin ich mir nicht sicher, ob ADO mit bigint so gut funktioniert . Ich habe keine Erfahrung mit Binärdateien und kenne keine anderen Optionen.
Welchen Datentyp würden Sie angesichts der Anforderungen wählen?