Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como escrever um contador de visitas eficiente para sites


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.