Лучше всего делать расчеты, когда они вам нужны. Таким образом, вы гарантируете, что результаты всегда выровнены с данными.
Иногда ваши данные становятся большими. Ваша система действительно занята. Ваша потребность в быстром отклике имеет первостепенное значение. В этих случаях вы думаете о том, как сделать код более эффективным. Именно тогда вы начинаете думать об отдельной таблице статистики.
Если бы у вас была такая таблица, вы бы не сохранили соотношение в таблице - по крайней мере, не только. Вместо этого у вас будут счетчики для «собак» и «кошек». Тогда вы будете использовать триггеры для insert
с, update
с и delete
с, чтобы поддерживать эти значения в актуальном состоянии. Конечно, триггеры увеличивают накладные расходы.
Может также возникнуть ситуация, когда статистика требуется только периодически (например, один раз в день). В этом сценарии вы можете запустить пакетное задание для создания таблицы статистики - запуск пакета в течение более продолжительных периодов для базы данных. Данные устарели, но это может удовлетворить ожидания производительности проще, чем ведение таблицы statistics
в режиме реального времени.