Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Głosowanie, zapytanie i sposób realizacji
ahold
post
Post #1





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 27.05.2009

Ostrzeżenie: (0%)
-----


Uszanowanie,

Mam uprzejme zapytanie, muszę wykonać system głosowania, i już teraz w trakcie tworzenia aplikacji muszę przemyśleć co będzie działo się "pod obciążeniem".

Załóżmy że baza danych miała by następującą konstrukcję

ID,id_glosowania,id_oddajacego,głos

Przykładowy wpis mógł by brzmieć:
1 1 666 1
2 1 777 0
3 1 555 0
4 1 888 0

Co za tym idzie, oddano trzy głosy (negatywne) i jeden pozytywny.
Tylko musimy założyć że takich głosów było by np 1500.

Teraz istnieje potrzeba utworzenia rankingu, kto był najlepszy a kto najgorszy.

Takim prostym sposobem jaki przychodzi mi do głowy to liczba pozytywnych głosów / negatywnych no i dostajemy wartość z dzielenia, którą porządkujemy w jakiś sposób, to już zależy od formy prezentacji czy rosnąco, czy nie rosnąco, wynik tak otrzymany mogli byśmy pokusić się o nazwanie mianem "wagi".


Problem jest taki, jak się za to zabrać...
Głupotą było by w php, w pętli "FOR" zliczać po kolei row[glos] i dzielić wynik, bo zabił bym apache, i i na dodatek administrator by mnie wyrzucił z takim kodem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) .


Czy dało by się to zrobić w jednym zapytaniu do serwera SQL ? Tak abym w wyniku otrzymał gotową wartość ? waga=0,7.

Dwa, jak bardzo obciąża takie zapytanie serwer SQL ?
Jeżeli musi przeliczyć np te "wagę" z 1500 głosów ?


Proszę wybaczyć moje pytanie, ale nigdy osobiście nie miałem do czynienia z serwerem MySQL na środkowisku produkcyjnym z takim REQUESTEM.


Za wszelkie przykłady, itp, itd, będę niezmiernie wdzięczny (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował ahold 27.05.2009, 21:04:01
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 20:11