Shop-Hilfe.com
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 29.06.2004, 10:15   #1
TP-Insider
 
Benutzerbild von NicNac
 
Registriert seit: Apr 2001
Ort: Zürich, Schweiz
NicNac macht alles soweit korrekt

Brauche Rat zu Userrängen


Hi

Ich möchte ein bisschen ein kompliziertes Userrating einführen (so ähnlich wie in Foren je mehr Beiträge desto höherer Rang).

Nur frage ich mich, wie macht man das am optimalsten, so dass man möglichst wenig Performance braucht:
Ich hab ja eine Bilderdatenbank und da habe ich zwei Tabellen. Eine Tabelle User, eine Tabelle Bilder. PrimaryKey ist eine UserID. Wenn nun jemand mehr ein Bild angeschaut hat, wird das in der Tabelle Bilder aktualisiert. Der Rang eines Users soll durch die Anzahl Views auch beeinflusst werden.

Muss ich jetzt nach jedem Zählerhochzählen eines Bildes, die gesamte Anzahl Views aller Bilder für enien bestimmten User ermitteln und allenfalls dann den Rang in seiner Tabelle aktualisieren, oder erst wenn sich der User selbst einloggt oder wie? Weil mal angenommen ich hätte mal 100'000 Bilder. Braucht das nicht viel Performance wenn ich alle Views erneut zusammenzählen muss?

Oder Idee 2 (gerade ein Geistesblitz Ich könnte das zwar machen aber auch so wie einen Abwärtscounter in der Tabelle User einfügen. Bei jedem View wird der Viewzähler beim Bild hochgezählt und der Abwärstcounter in der Tabelle User um 1 reduziert. Sobald dieser Counter 0 ist hat der User nen höheren Rang.

Was denkt ihr?
__________________
http://www.exploreourplanet.net - Ladet eure schönsten Urlaubsbilder hoch!
NicNac ist offline   Mit Zitat antworten


Alt 29.06.2004, 10:19   #2
TP-Special Mod
 
Benutzerbild von webmichl
 
Registriert seit: Jun 2001
Ort: 8°21' O 49°1' N
webmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine User
Ich seh das Problem nicht: bei jedem Bildaufruf wird der sowohl der Bild- als auch der Userzähler um 1 erhöht und fertig. Oder hab ich was falsch verstanden?
webmichl ist offline   Mit Zitat antworten
Alt 29.06.2004, 10:40   #3
TP-Insider
 
Benutzerbild von loki
 
Registriert seit: May 2003
Ort: Aachen
loki ist auf einem guten Weg
Ich würd die Hits nicht jedesmal neu zählen lassen, sondern manuell 1 hochzählen lassen, und dann kannste mit ner kleinen Abfrage den Rang aktualisieren..
Ist eigentlich nicht so der Aufwand, ist ja dann nur eine DB Abfrage mehr
__________________
"Man muss die Welt nicht verstehen, man muss sich nur darin zurechtfinden."
Einstein

loki ist offline   Mit Zitat antworten
Alt 29.06.2004, 11:03   #4
TP-Insider
 
Benutzerbild von NicNac
 
Registriert seit: Apr 2001
Ort: Zürich, Schweiz
NicNac macht alles soweit korrekt
Ne das hast du richtig verstanden. Aber meine Frage ist, ob das klug ist und/oder viel Performance braucht wenn man den

Fall a: verwirklicht, sprich nach jedem neuen View die Totalviews aller Bilder zählt um dann möglicherweise den Rang in der Usertabelle upzudaten

Fall b: nach jedem neuen view sowohl den Viewzähler des bildes hochzählt und den countdown bei user runter

oder ob beide ideen schlecht sind und es was besseres gibt
__________________
http://www.exploreourplanet.net - Ladet eure schönsten Urlaubsbilder hoch!
NicNac ist offline   Mit Zitat antworten
Alt 29.06.2004, 11:04   #5
TP-Insider
 
Benutzerbild von NicNac
 
Registriert seit: Apr 2001
Ort: Zürich, Schweiz
NicNac macht alles soweit korrekt
@loki

sah dein Posting erst jetzt. Also würdest du meinen Fall b eher gut finden? Zwei Counter, der beim Bild und der beim User, welcher ganz alleine für den Rang verantwortlich ist. Und bei jedem neuen View zählt man beide hoch?
__________________
http://www.exploreourplanet.net - Ladet eure schönsten Urlaubsbilder hoch!
NicNac ist offline   Mit Zitat antworten
Alt 29.06.2004, 11:23   #6
TP-Insider
 
Benutzerbild von loki
 
Registriert seit: May 2003
Ort: Aachen
loki ist auf einem guten Weg
Ja 2 Counter..
Also der eine jeweils bei den Hits der Bilder und der Andere als die Summe aller Hits, der direkt in der DB abgelegt ist, und nicht jedesmal neu berrechnet wird.
Das jedesmal neu berechnen kannste machen, wenn du wenig Bilder hast, bei denen die Datensätze ständig neu zusammengerechnet werden müssen..
Aber das würde ich in keinem Fall machen.
__________________
"Man muss die Welt nicht verstehen, man muss sich nur darin zurechtfinden."
Einstein

loki ist offline   Mit Zitat antworten
Alt 29.06.2004, 12:08   #7
TP-Moderator
 
Benutzerbild von Adromir
 
Registriert seit: Jun 2004
Ort: Hannover
Adromir lebt für das TP und seine UserAdromir lebt für das TP und seine UserAdromir lebt für das TP und seine UserAdromir lebt für das TP und seine UserAdromir lebt für das TP und seine UserAdromir lebt für das TP und seine User
Eigendlich geht das doch auch mit einem einzigen Query..
Adromir ist offline   Mit Zitat antworten
Alt 29.06.2004, 12:37   #8
TP-Insider
 
Benutzerbild von loki
 
Registriert seit: May 2003
Ort: Aachen
loki ist auf einem guten Weg
was geht mit einem query
__________________
"Man muss die Welt nicht verstehen, man muss sich nur darin zurechtfinden."
Einstein

loki ist offline   Mit Zitat antworten
Alt 29.06.2004, 14:04   #9
TP-Specialist
 
Benutzerbild von mike
 
Registriert seit: Jan 2002
Ort: TP/Dynamik
mike bringt sich richtig ein
Angry

Zitat:
Zitat von loki
...
Das jedesmal neu berechnen kannste machen, wenn du wenig Bilder hast, bei denen die Datensätze ständig neu zusammengerechnet werden müssen..
Aber das würde ich in keinem Fall machen.
ich will mich in die aktuelle Diskussion nicht einschalten, aber DA dreht sich mir der Magen um
Schon mal was von Aggregatsfunktionen gehört?


Irgendwie hab ich das Gefühl, wir verkommen hier zur Dr. Sommer Ecke für PHP
__________________
Gehelft? Hier kannst du dich bedanken.

mike
mike ist offline   Mit Zitat antworten
Alt 29.06.2004, 15:00   #10
TP-Insider
 
Benutzerbild von loki
 
Registriert seit: May 2003
Ort: Aachen
loki ist auf einem guten Weg
Zitat:
Zitat von mike
[..]
Schon mal was von Aggregatsfunktionen gehört?
[..]
Nein habe ich nicht, aber ich lasse mich gerne aufklären
__________________
"Man muss die Welt nicht verstehen, man muss sich nur darin zurechtfinden."
Einstein

loki ist offline   Mit Zitat antworten
Alt 29.06.2004, 15:19   #11
Guest
 
Registriert seit: Aug 2002
Strogij hilft, wo's gehtStrogij hilft, wo's geht
Zitat:
Zitat von loki
Nein habe ich nicht, aber ich lasse mich gerne aufklären
Das sind die Funktionen wie COUNT, MIN(), MAX() usw.
Strogij ist offline   Mit Zitat antworten
Alt 29.06.2004, 15:22   #12
TP-Specialist
 
Benutzerbild von mike
 
Registriert seit: Jan 2002
Ort: TP/Dynamik
mike bringt sich richtig ein
dann schau in der Doku nach.
http://www.mysql.com/

natürlich könntest auch den Link in deiner Signatur verwenden. Nur so als Anregung...
__________________
Gehelft? Hier kannst du dich bedanken.

mike
mike ist offline   Mit Zitat antworten
Alt 29.06.2004, 15:29   #13
TP-Insider
 
Benutzerbild von loki
 
Registriert seit: May 2003
Ort: Aachen
loki ist auf einem guten Weg
Zitat:
Zitat von Strogij
Das sind die Funktionen wie COUNT, MIN(), MAX() usw.
Doch die kenne ich.
Ich dachte nur, dass COUNT bei vielen Datensätzen langsam wird..
__________________
"Man muss die Welt nicht verstehen, man muss sich nur darin zurechtfinden."
Einstein

loki ist offline   Mit Zitat antworten
Alt 29.06.2004, 16:02   #14
TP-Insider
 
Benutzerbild von NicNac
 
Registriert seit: Apr 2001
Ort: Zürich, Schweiz
NicNac macht alles soweit korrekt
dachte ich auch. Was ist nun das optimale? COUNT ist bestimmt langsamer als mit nem Counter?!
__________________
http://www.exploreourplanet.net - Ladet eure schönsten Urlaubsbilder hoch!
NicNac ist offline   Mit Zitat antworten
Alt 29.06.2004, 17:01   #15
TP-Specialist
 
Benutzerbild von mike
 
Registriert seit: Jan 2002
Ort: TP/Dynamik
mike bringt sich richtig ein
jo mei.

in mysql benutzt die aggregatfunktion count scheinbar den index des primärschlüssels. Somit ist das ding pfeilschnell (Ausführungszeit vernachlässigbar)

Wer es nicht glaubt kann eine ganz einfach übung machen.
dazu erstllt man sich eine kleine tabelle füllt sie mit vielen Datensätzen. und wenn ich meine viele, dann sind das mehrere hunderttausend. Dann ab ins mysql-frontend und entsprechende Queries abgestellt.
da zeigt sich dann, dass eine 'select * from...' mörder zeit benötigt (je nach maschine)
ein count(*) jedoch um die 0,01 sek benötigt.

Die Tabelle ist übrigends dann auch wunderbar zum probieren von Auswirkungen von indizes geeignet.


however. ob und wie dann ein count für dein Problem passt, weiss ich net.
Dazu müsste ich mir die Fragestellung mal durchlesen . Aber ich denke, dass loki jetzt - wo er weiss was eine aggregatfunktion ist, und was diese zu leisten im Stande sind - sicher eine adequate lösung findet
__________________
Gehelft? Hier kannst du dich bedanken.

mike
mike ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
Brauche Rat zu Userrängen Brauche Rat zu Userrängen
« Fehler beim Aktualisieren der Seite | Statistik-Skript »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
wozu brauche ich blindtext und wie setze ich ihn ein? bw9000 Dreamweaver 5 14.07.2004 05:43
Brauche euren Rat -= Starter =- Flash 11 13.06.2004 16:42
Welches Webdesign? Brauche Rat von Euch!!! dieter99 Webdesign & Co. 13 22.01.2003 23:21
Ich brauche einen WIRKLICH guten, zuverlässigen Provider! Pyro Server & Provider 13 02.10.2001 17:23
So, brauche Euren Rat ....... Isnogut Flash 7 07.07.2001 13:47


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:24 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67