Visa ett inlägg
Oläst 2009-03-04, 19:53 #4
MMCs avatar
MMC MMC är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jan 2008
Inlägg: 560
MMC MMC är inte uppkopplad
Mycket flitig postare
MMCs avatar
 
Reg.datum: Jan 2008
Inlägg: 560
SELECT COUNT(*) ... är en väldigt billig operation om din tabell är MyISAM, så med rätt index bör inte den frågan påverka prestandan så mycket.

Men däremot tycker jag inte att tre frågor (SELECT, UPDATE och INSERT) är nödvändigt för det här användningsområdet.

Med lite högre belastning så börjar offlineuppdatering bli mer intressant, och jag skulle föreslå att du använder det här också. Du säger att du ändå ska köra ett cronskript för att tömma din klick-tabell var 10:e minut. Använd det här upplägget istället:

Vid varje sidladdning kör du en INSERT med ditt sessionsunika id, objekt-id och tidssstämpel.

Sen kör du ett cronskript som uppdaterar kolumnen för antal klick i din tabell utefter datan som finns i den här klickloggningstabellen. Ta samtidigt bort datan ur tabellen.

Fördelen med det här tillvägagångssättet är att varje sidladdning bara genererar en INSERT, samt att du när du börjar få mer trafik helt enkelt kan köra cronskriptet mer sällan för att sänka belastningen på databasservern. Får du 6000 klick i timmen spelar det kanske ingen roll om inte klickräknaren uppdateras oftare än var 10e minut, exempelvis.
MMC är inte uppkopplad   Svara med citatSvara med citat