с данными, вторая со счётчиками.
Есть триггеры на таблицу с данными, которые инкрементят счётчики при добавлении новых строк и декрементят при удалении (то есть счётчики - это скажем материлизованные каунтеры строк по типу).
Вопрос, насколько это будет атомарно? Счётчики не разойдутся с данными? А в случае, если я не буду явно транзакцию объявлять? А в случае ошибок в запросе? А в случае мультимастера? И ип
не разойдутся, но такое убивает производительность при массовом insert/update лучше не делать так
> Вопрос, насколько это будет атомарно? Асболютно. Вы путаете атомарность с чем-то ещё, я уверен. ;) > Счётчики не разойдутся с данными? А вот это зависит от того, корректно ли Вы напишете триггеры.
Я понимаю под атомарностью то, что или и данные добавились, и обновился счётчик, либо не произошло ни того, ни другого.
я выше пример кода привел, про old не забывать, если счетчик с условием у меня в примере отзыв может поменять product_id (часто про это забывают)
Да, так и будет. К изоляции / консистентности (которые Вас, скорее всего, интересуют) это не имеет отношения. Вопрос в том, правильно ли обновился счётчик, понимаете?
Обсуждают сегодня