Re[11]: Подсчёт количества привязанных сущностей
От: rosencrantz  
Дата: 04.08.21 18:19
Оценка: 114 (1)
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, Буравчик, Вы писали:


Б>>В общем, ответ зависит от частоты и типа обновлений исходной таблицы. И триггер часто не лучшее решение.

S>Триггер — лучшее решение по сравнению с application-side триггером, когда мы уже решили использовать предагрегированные таблицы, но строим их руками в коде приложения, а не внутри RDBMS.

У меня по факту код аппликейшна обновляет счётчики в БД. Когда кто-то редактирует руками, происходит update ... count = count + 1 (ну или -1 при удалении), а при балк инсертах то же самое, только сразу count=count+100500.

Переписал на триггерах из интереса. Триггер на insert делает +1, и на delete делает -1. Здорово выкинулось много кода из аппликейшна, но балк инсерты стали в 1.5 (полтора) раза медленнее. Под балк инсертами понимается insert from select, аппликейшн в тормозах никак не участвует.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.