這是關於如何以最有效的方式在數據庫中存儲內容。 這裏最重要的事情並不是儘可能地節省空間 - 重點在於使用這些數據的最快方式。如何存儲在數據庫中有用的多項選擇?
所以一般的一件容易的事情:
我們有10個選擇無線電盒 - 我們可以選擇全部或我們可以選擇無 - 或者只是選擇一個/一些他們。
所以一般我看到了兩個常規選項保存結果在我的數據庫:
A)只是要10場在我的桌子TINYINT(1),並設置爲0或1
B)我可以使用ONE Int(7),它有機會將結果解碼爲二進制 - fE如果您選擇選項3,則可以選擇其中的00101001.
所以問題是哪個更有意義?
B將只需要4個字節,而A將需要8個字節 - 此外B需要一個簡短的PHP函數來解碼二進制文件。
現在的問題現在的問題是,如果數據庫得到一個查詢的地獄,你認爲遲早會有更好的用法嗎?
如何使用所有可能的選項枚舉? –
這是2^10的選項,或1024選項... – Konerak
確切 - 所以我從來沒有想過ENUM將在這裏真正使用:/ – Kris