Увлекательный предмет. Увеличивая счетчик, каким бы простым он ни был, просто имеет для транзакции ... это означает, что он может заблокировать всю БД дольше, чем имеет смысл! -) Это может быть узким местом для вся система.
Если вам нужны очень точные подсчеты, но вам не нужно, чтобы они были мгновенно обновлены, мой любимый подход - добавлять счетную информацию в журнал (переключать журналы так часто, как это необходимо для целей обновления данных). Как только журнал закрыт (с тысячами счетных событий в нем), сценарий может прочитать его и обновить все, что нужно в одной транзакции - может быть, не интуитивно, но гораздо быстрее, чем тысячи отдельных блокировок.
Тогда есть чрезвычайно быстрые счетчики, которые статистически точны только *1007*, но, поскольку вы не говорите, что такая неточность приемлема, я не буду объяснять их более подробно.