Лучше ли поддерживать пользовательский код в статическом ограничении Java или в базе данных и получать его каждый раз, когда это требуется? - PullRequest
0 голосов
/ 09 октября 2018

У меня есть 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

Теперь мой вопрос: какой из приведенных ниже вариантов лучше с точки зрения производительности, оптимизации памяти, удобства сопровождения кода:

  1. Определить QuestionType, Тип содержимого в самом классе Java POJO

  2. Определить QType, CType в файле свойств и прочитать его в классе Java

  3. Определите в базе данных значений, определите статический блок для чтения значений из БД и сохраните его в статической переменной, чтобы его можно было разделить между приложениями, и я задам только вопрос (3-я таблица).

Как я полагаю, третий вариант может сохранить процесс объединения в sql engine, время и память (поскольку INT занимает меньше памяти по сравнению со всей строкой после объединения 3 таблиц).

Поскольку я не являюсь экспертом в области архитектуры, я не могу принять решение по этому вопросу.

Заранее спасибо!

...