我正在設計一個表。有幾個比特列彼此不相關。使用位掩碼來存儲不相關的位列
我正在考慮只將這些列合併到一個通用的ATTRIBUTES INT位掩碼列中。
現在,我試圖說服自己,這是一個壞主意。這看起來像一個反模式。如果我晚些時候需要另一個字段,這可能爲我節省一些時間,但除此之外還有其他好處嗎?
如果我有一個位掩碼索引,我正在通過ATTRIBUTES & 128 = 128進行搜索,那麼我懷疑它效率不高。索引將按照整個值排序,而不是按位排序。所以,我認爲它實際上只需要掃描整個索引而不是知道去哪裏。
這聽起來沒錯嗎?這是一個可怕的想法?
感謝, Tedderz
這是一個很好的缺點。你腦子裏有什麼專業人士? –
個人我會保持他們分開。它需要更多時間來設置,但這樣其他人將來可以更容易地學習您的數據庫。這是我所知最重要的唯一主要區別。 –
下次需要添加另一列時,無需更新我的所有架構腳本,sprocs和業務對象,這是我能想到的唯一真正的好處。 – Tedderz