以下方法可用於設計數據庫表中的狀態相關字段。數據庫設計 - 使用短而不是Varchar - 用於狀態字段
方法01:
- 使用 'VARCHAR' 作爲一個數據類型。
- 直接地位將被保存如新,在進步,CLOSED
限制:
- 搜索字符串表總是需要更多的時間&資源
- 改變現有的狀態文本(例如:「關閉」到「完成」)需要全表更新
方法02:
- 創建一個狀態查表
- 使用狀態表的外鍵的從屬表
侷限:
- 維護外鍵關係
- 需要使用JOIN在應用程序中所有相關查詢
方法03:
- 使用短(或)INT對狀態欄
- 保持在使用ENUM狀態文本應用程序接口(EJB)
這將解決先前方法的侷限性
限制:
- 需要映射整數到相關狀態(但仍使用枚舉而不是文本是一個更好的方法)
我覺得第三種方法會更高效在*更快DB索引 *更快搜索由於短(或)int字段(而不是)VARCHAR *當然較少的內存指紋的 方面
請問您能否告知我們在靈活性,維護和性能方面是否存在第三種方法的陷阱?
在此先感謝