sql >> Databasteknik >  >> RDS >> Mysql

Hur man skriver en effektiv träffräknare för webbplatser

Ett fascinerande ämne. Att öka en räknare, hur enkelt det än må vara, har bara att vara en transaktion... vilket innebär att det kan låsa hela DB längre än vad som är vettigt!-) Det kan lätt bli flaskhalsen för hela systemet.

Om du behöver noggrant exakta räkningar men inte behöver dem för att vara omedelbart uppdaterade, är min favoritmetod att lägga till den räknebara informationen till en logg (byta loggar så ofta som behövs för att uppdatera data). När en logg är stängd (med tusentals räkningsbara händelser i den) kan ett skript läsa den och uppdatera allt som behövs i en enda transaktion – kanske inte intuitivt, men mycket snabbare än tusentals enstaka lås.

Sedan finns det extremt snabba räknare som bara är statistiskt korrekt -- men eftersom du inte säger att sådan oprecision är acceptabel, tänker jag inte förklara dem mer ingående.



  1. MySql använder korrekt syntax för over-satsen

  2. Hur man får tidigare värde för nollvärden

  3. Lägga till data till ett MySQL-databasfält som redan har data i sig

  4. Vad är primär nyckelbegränsning i SQL Server Database - SQL Server / T-SQL självstudie del 54