我的表中有大量的布爾字段,其中包含假日位置列表。由於數據是由ajax從瀏覽器中提取的,我希望有很多移動用戶,所以我將它們合併爲一些整數,供按位運算符使用。因爲有很多字段(超過32個),所以我不得不對這些字段進行分組,併爲每個分組生成一個整數。所以(在簡化的僞代碼(我實際使用PHP))使按位數據更易於維護
[ hasCar: 1, hasBoat: 0, hasTree: 0, hasCat: 1, hasHorse: 0]
將映射到像
[
things: int("100"),
animals: int("10")
]
我在其他字段這些整數存儲在我的數據表。問題在於它非常不靈活。例如如果我改變如何分組我的布爾字段,或刪除一個我必須重新生成所有整數並覆蓋每個項目的數據。
有沒有人有任何好的想法如何處理以有效,可維護的方式生成按位數據。
不錯的主意......但a)當我想重新組合字段時(例如,如果我想將hasBoat,hasCar,hasHorse放入一個整數「transport」中,我仍然需要做很多事情重寫值的工作; b)如果我的所有布爾字段從1位變爲更大的大小,它會大大增加數據庫的大小。 – wheresrhys 2011-05-09 13:32:09
您可以使用單列來存儲所有值。整數列應該能夠容納大約20個值。你只需要總結這些值並將它們放在一個列中。 – Tushar 2011-05-10 03:00:56