我有3个基于3NF的表,我的应用程序是Java Web应用程序,将来会变得越来越大。
例如在调查Web应用程序中:
Table1: QuestionType
Column: QuestionTypeID, QuestionType, Description
Table2: ContentType
Column: ContentTypeID, ContentType, Description
Table3: Question
Column: QuestionID, QuestionTypeID, ContentTypeID, Question
使用上面的表结构,我可以使用view / join来获取数据,如下所示:
QuestionID, QuestionType, ContentType, Question
现在,我的问题是,在性能,内存优化,代码可维护性方面,以下选项哪个更好:
在Java POJO类本身中定义QuestionType,Content Type
在属性文件中定义QType,CType并将其读取到Java类
在值数据库中定义,定义静态块以从db读取值并将其保存在静态变量中,以便可以在应用程序之间共享,并且我将仅查询Question(3rd table)。
根据我的猜测,第三个选项可以节省sql引擎中的连接过程,时间和内存(因为与连接3个表之后的整个字符串相比,INT占用的内存更少)。
由于我不是建筑师方面的专家,因此无法对此做出决定。
谢谢!