0
我即將爲日誌記錄系統設計一個數據庫。MySQL/JDBC中的動態ENUM
許多字符串列將具有有限的值,但未預先知道: 與發送消息的模塊的名稱或源主機名一樣。
我想將它們存儲爲MySQL枚舉以節省空間。 所以這個想法會是這個Enums會隨着他們遇到新的價值而增長。
我會像一列開始:
host ENUM('localhost')
然後,在Java中,我將在同一時間啓動時加載的主機名定義枚舉值(我怎麼做,與MySQL/JDBC? ?),並且每當遇到新主機時我都會修改Enum。
你認爲這是可行/一個好主意? 你有沒有做過這樣的事情?
在此先感謝您的建議。
Raphael
我想過這個標準的解決方案,但它有兩個缺點給我: 1)它需要在查詢日誌時連接很多表,這會影響性能。 2)當直接管理MySQL表時,ENUM是自描述的,而參考ID有點模糊。 – 2011-04-29 10:56:01
好的,謝謝... 我會這樣做的「吻」的方式。 我想我只是想忘記早期的優化是Sofwtare發展中邪惡的根源。 – 2011-05-02 09:19:23