В моей базе данных есть таблицы tasks
и comments
. Каждая задача имеет много комментариев.
Я хотел бы создать столбец tasks.comments_count
, который будет автоматически обновляться PostgreSQL, поэтому я могу получить comments_count
(и отсортировать/отфильтровать по нему) в O (1) время при выборе всех задач.
Я знаю, что существуют речевые решения, такие как счетчик кэша ActiveRecord, но я не хочу их использовать (я нахожу их хрупкими). Я бы хотел, чтобы PostgreSQL позаботился о таких кэшах счетчиков.
Я также знаю, что PostgreSQL поддерживает триггеры, но их трудно писать и использовать (не твердое решение)
В идеале это будет расширение PostgreSQL или некоторая встроенная функция, о которой я не знаю.
Ленивый расчет таких счетчиков будет отличным бонусом.