Безопасен ли такой подход в реализации подсчета записей, и какие есть альтернативы?
Допустим у меня есть две 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;
Не возникнут ли с этим проблемы? И какие ещё способы решения есть для этой задачи.