【发布时间】:2009-09-02 16:11:55
【问题描述】:
就性能和“可读性/良好的编码风格”而言,在 DB 层上表示整数(或一般的任何数字数据类型)的(Java)枚举(固定的常量集)的最佳解决方案是什么与字符串表示。
警告:有些数据库系统直接支持“枚举”,但这需要使数据库枚举定义与业务层实现保持同步。此外,这种数据类型可能并非在所有数据库系统上都可用,并且语法也可能不同 => 我正在寻找一种易于管理且可在所有数据库系统上使用的简单解决方案。 (所以我的问题只涉及数字与字符串的表示。)
在我看来,常量的数字表示存储起来非常有效(例如,仅消耗两个字节作为整数)并且在索引方面很可能非常快,但难以读取(“0”与“1”等)..
String 表示形式更具可读性(与“0”和“1”相比,存储“启用”和“禁用”),但会消耗更多存储空间,并且很可能在索引方面也较慢。
我的问题是,我错过了一些重要的方面吗?您建议在数据库层上使用什么枚举表示。
非常感谢!
【问题讨论】: