Пожалуйста, помогите мне найти способ сделать это эффективным
Программа имеет следующие объекты:
Проекты 1-N Модули
Модули 1-N Подмодули.
Подмодули 1-N сегментов.
каждый сегмент имеет различный статус (по умолчанию / завершен) и количество слов
Подсчет слов производится, когда сегменты вставляются в базу данных и сохраняются в столбце.
Просмотров.
Список проектов
Должно быть менее 100 проектов, поэтому я перечисляю все из них без включенных.
Список модулей (с параметром 1 projectId) должен иметь столбец с завершенными словами / всего и завершенными строками / всего
Список субмодулей (с параметром 1 moduleId) должен иметь столбец с завершенными словами / всего и завершенными строками / всего
Предположим, у меня будет около 50 тыс. Строк (сегментов) на модуль. так что исполнение обязательно.
Вариант 1:
IQueryable Childs.Count () некоторого вида
Вариант 2:
Добавить столбцы Stats в таблицы в базе данных с заданиями CRON для их обновления
или иметь хранимую процедуру / триггеры в mysql.
Вариант 3?: Создание 2 представлений в MySQL? никогда не делал их, но, может быть, они подходят для работы?
Предлагаемые варианты: пока нет
Никогда раньше не работал с такими большими наборами данных, а производительность просто необходима.
Пожалуйста, совет