Saya perlu menyimpan bit array untuk setiap record tabel, mendukung operasi berikut:
Menguji jika bit diatur, dan mengatur bit (menggunakan SQL)
Menanyakan dan mengatur nilai menggunakan ADO 2.8 (bukan ADO.NET)
Pengindeksan (untuk mendapat manfaat dari fitur "indeks penutup")
Jumlah bit maksimum yang akan disimpan dalam array ini adalah tetap, tetapi dapat melebihi 32 . Yaitu, kolom int sederhana tidak selalu berfungsi.
Dari apa yang saya lihat sejauh ini, opsi saya adalah:
- Gunakan beberapa kolom int
- Gunakan bigint (berfungsi selama jumlah bit <= 64)
- Gunakan biner
- ?
Opsi pertama akan berfungsi, tetapi membutuhkan sedikit refactoring dalam kode yang mengakses data. Pilihan kedua adalah bantuan sementara saja, dan dari pencarian saya sejauh ini saya tidak terlalu yakin apakah ADO bekerja dengan baik dengan bigint . Saya tidak punya pengalaman dengan biner , dan saya tidak mengetahui adanya opsi lain.
Jenis data apa yang akan Anda pilih, mengingat persyaratannya?