У меня есть 3 таблицы на основе 3NF, и мое приложение является веб-приложением java, и в будущем оно станет огромным.
Например, в веб-приложении для опросов:
Table1: QuestionType
Column: QuestionTypeID, QuestionType, Description
Table2: ContentType
Column: ContentTypeID, ContentType, Description
Table3: Question
Column: QuestionID, QuestionTypeID, ContentTypeID, Question
С вышеСтруктура таблицы. Я могу использовать представление / объединение для получения данных следующим образом:
QuestionID, QuestionType, ContentType, Question
Теперь мой вопрос: какой из приведенных ниже вариантов лучше с точки зрения производительности, оптимизации памяти, удобства сопровождения кода:
Определить QuestionType, Тип содержимого в самом классе Java POJO
Определить QType, CType в файле свойств и прочитать его в классе Java
Определите в базе данных значений, определите статический блок для чтения значений из БД и сохраните его в статической переменной, чтобы его можно было разделить между приложениями, и я задам только вопрос (3-я таблица).
Как я полагаю, третий вариант может сохранить процесс объединения в sql engine, время и память (поскольку INT занимает меньше памяти по сравнению со всей строкой после объединения 3 таблиц).
Поскольку я не являюсь экспертом в области архитектуры, я не могу принять решение по этому вопросу.
Заранее спасибо!