Mysql
 sql >> Database >  >> RDS >> Mysql

Come scrivere un efficiente contatore di visite per i siti web

Un argomento affascinante. Incrementare un contatore, per quanto semplice possa essere, solo ha essere una transazione... il che significa che può bloccare l'intero DB più a lungo di quanto abbia senso!-) Può facilmente essere il collo di bottiglia per l'intero sistema.

Se hai bisogno di conteggi rigorosamente esatti ma non hai bisogno che siano aggiornati istantaneamente, il mio approccio preferito è aggiungere le informazioni numerabili a un registro (cambiando i registri tutte le volte che è necessario per scopi di aggiornamento dei dati). Una volta chiuso un registro (con migliaia di eventi numerabili all'interno), uno script può leggerlo e aggiornare tutto ciò che è necessario in una singola transazione, forse non intuitivo, ma molto più veloce di migliaia di singoli blocchi.

Poi ci sono contatori estremamente veloci che sono solo statisticamente accurato -- ma dal momento che non dici che tale imprecisione è accettabile, non la spiegherò in modo più approfondito.