Безопасен ли такой подход в реализации подсчета записей, и какие есть альтернативы?

Допустим у меня есть две SQL таблицы:

t1: [ id, name ]

t2: [ id, parent_t1_id, text ]

Стоит задача выводить количество записей в t2, по полю parent_t1_id.

Можно было бы реализовать SELECT COUNT(*) FROM t2 WHERE parent_t1_id = varId, но записей в t2 предположительно будет много, и запросы к БД для того чтобы узнать, количество записей будут осуществляться часто, поэтому каждый раз, мне кажется , пересчитывать таким способом будет сильно дорого по времени.

Пришёл к такой мысли, добавить в t1 поле count, и при каждом добавлении/удалении записи с помощью триггеров на INSERT и DELETE в t2, менять поле count в t1, то есть: UPDATE t1 SET count = count+1 WHERE id=varId;

Не возникнут ли с этим проблемы? И какие ещё способы решения есть для этой задачи.


Ответы (0 шт):