休日の場所のリストを含むテーブルに多数のブール型フィールドがあります。データはブラウザからajaxで取得され、多くのモバイルユーザーがいることを期待しています。これらをビット単位の演算子で使用する整数に結合しました。しかし、私はフィールドをグループ化し、各グループの整数を生成しなければなりませんでした。だから私は私のデータテーブルに追加フィールドで、これらの整数を格納ビット単位のデータをよりメンテナンス可能にする
[
things: int("100"),
animals: int("10")
]
ような何かにマップされます
[ hasCar: 1, hasBoat: 0, hasTree: 0, hasCat: 1, hasHorse: 0]
(単純化された擬似コードで(私は実際にPHP)を使用しています)。この問題は、非常に融通がきかないという問題があります。例えばブール値フィールドをどのようにグループ化するかを変更するか、1つを削除すると、すべての整数を再生成して各アイテムのデータを上書きする必要があります。
誰も効率的で維持可能な方法でビット単位のデータの生成を処理するための良いアイデアを持っていますか?
良いアイデア...しかしa)これはフィールドを再編成するときに犠牲になります(例えば、hasBoat、hasCar、hasHorseを1つの整数 "transport"に入れたい場合は、 b)すべてのブール値フィールドが1ビットからもっと大きなサイズになるとデータベースサイズが大幅に増加します – wheresrhys
すべての値を格納するために単一の列を使用できます。整数列は約20個の値に対応できる必要があります。値を合計して1つの列に入れるだけです。 – Tushar