[ erweiterte Suche ]
Google Maps: geocoder.getLatLng() per PHP möglich?Neues Thema eröffnenNeue Antwort erstellenDas Thema einem Freund empfehlenDas Thema druckenSuchmaschinenbots erkennen, aber nicht übertreiben!
Seite 1 von 1 [1 Beitrag]
AutorNachricht
Administrator 


Name: Marc
Geschlecht:
Anmeldedatum: 28.08.2004
Beiträge: 29450
Chats: 11081
Wohnort: Hennef


Meine eBay-Auktionen:
20.02.2009, 02:21


Hallo!

In eigentlich allen Scripten hat man das gleiche Problem. Jeder Seitenaufruf resultiert ein UPDATE in der Datenbank. D.h. der View-Counter der Seite wird bei jedem Aufruf um 1 hochgezählt.

Um das zu verhindern, macht man sich die Wahrscheinlichkeitsrechnung zu nutze. Wir erstellen also die folgende Funktion:
   Code:
function update_rand() {
switch (mt_rand(2, 5)) {
case 2:
if (mt_rand(1, 2) == 2) {
return 2;
}
break;
case 3:
if (mt_rand(1, 3) == 3) {
return 3;
}
break;
case 4:
if (mt_rand(1, 4) == 4) {
return 4;
}
break;
case 5:
if (mt_rand(1, 5) == 5) {
return 5;
}
break;
}
return false;
}


Und dann machen wir die Datenbankabfrage abhängig vom Zufall und erhöhen den View-Counter um den entsprechenden Zufallswert:
   Code:
// increment the number of views
if ($views = update_rand()) {
$sql = 'UPDATE LOW_PRIORITY articles
SET views = views + ' . intval($views) . '
WHERE id = ' . intval($id);
$db->sql_query($sql, false, __LINE__, __FILE__);
}


Wie man sieht, habe ich die UPDATE-Abfrage auf LOW PRIORITY eingestellt. Insbesondere bei hohen Lasten ist mir aufgefallen, dass die UPDATE-Abfrage von Views mit anderen SELECTs kollidiert und wie ein Stoppschild in der Prozessliste verweilt und sich so mit anderen SELECTs "anlegt" bis es zum Absturz des MySQL-Dienstes kommen kann. Hier fand ich den Tipp:
http://mysqldatabaseadministration.blogspo­t.com/2007/01/update-lowpriority.ht­ml

Seit der Umstellung auf LOW PRIORITY kam es bei mir zu keinen Problemen mehr.

Dann fragt Ihr Euch sicher, wie beim Einsatz von Zufallszahlen überhaupt die richtigen Views herauskommen sollen. Daher erkläre ich kurz die oben genannte Funktion update_rand().

Jede Zahl kommt in 25% aller Fälle zum Tragen. Das führt aber nur in bestimmten Fällen (je nach Zahl) zum Erfolg:
Zahl 2 = 50%
Zahl 3 = 33%
Zahl 4 = 25%
Zahl 5 = 20%

D.h. von 100 Versuchen werden 25% auf die Zahl 2 zutreffen, aber nur in weiteren 50% der Fälle kommt es zum Einsatz der Zahl. D.h. die Zahl 2 wird in nur 12,5% aller Fälle zum Tragen kommen. Rechnet man wieder:
Zahl 2 = 12,5%
Zahl 3 = 8,25%
Zahl 4 = 6,25%
Zahl 5 = 5%
Summe = 32%

D.h. in gerade mal 32% aller Fälle kommt es zu einem UPDATE in der Datenbank (Ersparnis von 68% aller Abfragen!).

Nun zur Genauigkeit dieser Wahrscheinlickeitsrechnung:
100 Aufrufe resultieren ohne diese Funktion 100 Views. In unserem Fall teilen sich diese 100 Aufrufe auf die jeweilige Zufallszahl wie folgt auf (gerundet):
13 Aufrufe * 2 = 26 Views
8 Aufrufe * 3 = 24 Views
6 Aufrufe * 4 = 24 Views
5 Aufrufe * 5 = 25 Views

Macht in der Summe 99 Views. D.h. die Ergebnisse weichen nur minimal vom Original ab und wer interessiert sich schon wirklich dafür, ob ein Thema 100 mal oder 99 mal aufgerufen wurde.

Diese Technik bietet sich übrigens auch bei Counter-Diensten an, wenn man Impressionen zählt. Da würde ich die Formel sogar noch weiter ausbauen, dass sie noch seltener zutrifft.
Nach obenprofil pn email www icq
Gast 

20.02.2009, 02:21


Mach mit!

Wenn Dir die Beiträge zum Thema "UPDATE View-Counter per Zufall (Performance Tipp)" gefallen haben oder Du noch Fragen hast oder Ergänzungen machen möchtest, solltest Du Dich gleich bei uns anmelden:

    » Anmelden

Registrierte Mitglieder genießen die folgenden Vorteile:
- kostenlose Mitgliedschaft
- keine Werbung
- direkter Austausch mit Gleichgesinnten
- neue Fragen stellen oder Diskussionen starten
- schnelle Hilfe bei Problemen
- Bilder und Videos hochladen
- und vieles mehr...

Verwandte Suchbegriffe

mysql update low priority, update low_priority, sql zufall sichten
Nach oben
Seite 1 von 1 [1 Beitrag]
Neues Thema eröffnenNeue Antwort erstellen

Ähnliche BeiträgeAutorAntwortenAufrufeLetzter Beitrag
Frage zu Rear View und PDC 
Hallo Leute Wie ihr sicher gelesen habt, muss mein CN2 bald zu Honda um diesen Blöden schaden reparieren zu lassen. heute hat mein Honda meister mir ein angebot gemacht Rear View inkl einbau : 680€ PDC inkl Einbau: 440€ Was würdet...
Seite: 2 ]
thomasee81562109.10.2006, 06:44
Daccord
Mein Neues Rear View im Accord 2006 
Hab gestern meinen accord wieder bekommen. Bin sehr zufrieden. Lediglich die kamera muss neu justiert werden, ich sehe auf den display eine schwarze ecke, das ist die ecke von der nummernschildaussparung. In dem anderen Thread werde ich die pin...
thomasee8765004.11.2006, 11:33
thomasee8
Counter Strike? 
Hi Leutz, mal ne Frage zu Cs., komme da nicht weiter in einer Szene, weiß jemand nen Cheat wo ich mich mal schnell unsterblich machen...
Percy472017.10.2004, 22:05
Percy
Counter Strike etc. schadet der Jugend 
erst den: http://www.ice-only.de/Counter_Strike_Stress.151.0.html und dann den, der ist noch...
Seite: 2, 3, 4 ]
mgutt34338207.11.2005, 19:57
mgutt
Counter-Strike Source - startet nicht?! // S.2 
Hallo, ich habe mir überlegt, dass ich vlt. mal wieder Abends kurz ne Runde CS spielen könnte. Das letzte mal, als ich CS gespielt habe, war es Version 1.4 oder so. Also schon "etwas länger" her.. Was benötige ich denn nun eigentlich,...
Seite: 2 ]
s-lab1868907.01.2009, 19:08
el bosso
Alt aber gut! Counter Strike (Witzig) 
alt, aber immer noch Lustig :D ... an denen man erkennt, das man zuviel Counter-Strike zockt: 1. Man verläßt die Wohnung nur durch den Lüftungsschacht. 2. Man betritt seine Wohnung nicht bevor man eine Flashbang durch die Tür geschmissen...
Fuchs962421.02.2006, 14:11
djhemp
Super-Tipp 
Hallo alle zusammen, ich habe einen Super-Tipp, wie man sich noch etwas dazu verdienen kann, wenn man einen Kredit abschließen will oder abgeschlossen hat! Ich habe bei so einer Marktforschungsfirma den Kreditprozess bei meiner Bank bewertet und dafür...
Bond36224219.03.2009, 20:34
trap
TIPP! Recherche Geschmacksmuster 
Ich bin ja öfter auf der Seite des deutschen Marken- und Patentamtes unterwegs, finde dort oft hilfreiche Informationen und möchte euch das keinesfalls vorenthalten, da hier auch öfter mal Fragen dazu auftauchen. die Informationen des DPMA sind ja aus...
titus0107913.09.2009, 19:18
titus01
NSR 50 tipp sammlung 
Ich hätte gerne fragen beantwortet um meine nsr gut zu behandeln!!!! 1)wann sollte ich sie in den zweiten gang schalten(drehzahl) und kann ich die kupplung springen lassen wenn ich schalte,weil ich dies immer mache. 2)was für öle müssen wann aufgefült...
lars nsr 50338110.05.2008, 18:57
Sgt.Maulwurf
Tipp: Handel in Foren 
Ich bekomme mittlerweile immer öfter Anfragen wie "ich habe in einem Forum etwas gekauft und bezahlt, aber der Verkäufer meldet sich nicht" etc. Dabei werde ich auf Grund meiner Erfahrung gerne zu Rate gezogen. Da ich aber keine...
Seite: 2, 3, 4 ]
mgutt36446201.10.2009, 04:20
Mattes
© 2004 - 2010 www.programmierer-forum.de | Communities | Impressum