我在問好奇。基本上我的問題是,當你有一個數據庫需要一個行條目來讓事情像標誌一樣行事時,最佳實踐是什麼?一個很好的例子就是堆棧溢出的徽章或bugzilla中的操作系統字段。可以爲給定條目設置標誌的任何子集。數據庫中的標誌行,最佳實踐
通常,我做C和C++的工作,所以我的直覺反應是使用無符號整數字段作爲可以翻轉的一組位...但我知道這不是一個好的解決方案,原因有幾個。其中最明顯的是可擴展能力,對於我可以擁有多少標誌將會有一個硬性上限。
我也可以考慮一些其他解決方案,它們的規模會更好,但會有性能問題,因爲它們需要多個選項才能獲取所有信息。
那麼,什麼是「正確」的方式來做到這一點?
只對未簽名的掩碼發出警告。如果您必須編寫查詢來過濾設置了特定位的行,那麼當行數變大時,您的性能將受到嚴重影響,因爲where子句中的邏輯和/或操作無法有效地使用索引。 – JohnFx 2008-10-01 22:26:26