У меня есть приложение для викторины, которое состоит из множества модулей, содержащих вопросы.Каждый вопрос имеет много категорий (многие ко многим).Каждый раз, когда тест завершается, оценка пользователя отправляется в таблицу результатов.(Я приложил диаграмму отношения сущностей для пояснения).
Я думал о том, чтобы разбить пользовательские оценки по категориям (то есть пользователь при завершении теста получит общую оценку теста вместе сбалл за каждую категорию).
Однако, если каждый тест состоит не менее чем из 30 вопросов, в каждом тесте может быть около 15-20 категорий.Таким образом, если один пользователь завершит тест, он создаст минимум 15-20 строк в таблице результатов.Для нескольких пользователей таблица баллов очень быстро станет очень большой.
Я предполагаю, что это повлияет на производительность извлечения данных из таблицы баллов.Например, если я хотел вычислить средний балл для пользователя для определенной категории.
Есть ли у кого-нибудь лучшее предложение о том, как я все еще могу хранить результаты, основанные на категориях?
Я думал о сериализации данных JSON, но, конечно, у этого есть свои ограничения.