Um assunto fascinante. Incrementar um contador, por mais simples que seja, apenas tem ser uma transação... ou seja, pode bloquear todo o banco de dados por mais tempo do que faz sentido!-) Pode facilmente ser o gargalo para todo o sistema.
Se você precisa de contagens rigorosamente exatas, mas não precisa que elas sejam atualizadas instantaneamente, minha abordagem favorita é anexar as informações contáveis a um log (alternando logs com a frequência necessária para fins de atualização de dados). Uma vez que um log é fechado (com milhares de eventos contáveis nele), um script pode lê-lo e atualizar tudo o que é necessário em uma única transação -- talvez não seja intuitivo, mas muito mais rápido do que milhares de bloqueios únicos.
Depois, há contadores extremamente rápidos que são apenas estatisticamente precisos -- mas como você não diz que tal imprecisão é aceitável, não vou explicá-los com mais profundidade.