Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 135 Pomógł: 0 Dołączył: 1.08.2005 Ostrzeżenie: (0%)
|
Cześć.
Jak już pisałem na forum (może ktoś kojarzy) tworzę nieduży systemik do katalogowania i oceniania moich planszowych gier. Chciałbym, aby była możliwość oceniania ich przez odwiedzających (możliwe, że kiedyś to się rozrośnie (IMG:style_emoticons/default/smile.gif) ). W bazie mam tabelę "ratings", w której trzymam ocenę (pole ratings_rate) i identyfikator gry (ratings_gameid). Wpadłem na pomysł, by pobrać te dane do pliku i dodać im numery, tak: Następnie wrzucam wynik do pliku, z niego robię tablicę, przy wywoływaniu listy gier includuje go, i biorę "nr" odpowiadający identyfikatorowi. Teraz pojawia się problem. Jeżeli założymy, że baza gier się rozrośnie (na początek będzie tam zbiór mój i kilku kolegów ze studiów) i wyniesie (luźno liczymy) 500 pozycji, to jak będzie z wydajnością? Chcemy zrobić więcej rankingów, m.in. wg wydawcy i roku wydania, to wszystko to są zapytania, pobierające przecież pięćset rekordów. Pomyślałem, żeby pobieranie rankingu zrobić w CRONie, raz na dobę. Ale wówczas problemem będzie to, że sortuję wyniki przez średnią arytmetyczną ocen. Mógłbym zamiast umieszczać wyniki w pliku, dawać je do bazy, ale problem główny leży w tym, czy zwykłe konto na serwerze "wydoli" z częstą aktualizacją takich rankingów, powiedzmy... no, szczerze, to przy każdej oddanej ocenie. A może macie jakiś inny sposób na ranking sortowany wg ocen? Korzystam z ADOdb, gdyby to miało w czymś pomóc. Ten post edytował spit 19.07.2010, 21:44:43 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 135 Pomógł: 0 Dołączył: 1.08.2005 Ostrzeżenie: (0%)
|
Jakością zapytań teraz w ogóle się nie martwię, bo na razie jestem na etapie budowania szkieletu, dopiero potem będę się bawił w optymalizację całości. Możesz mi powiedzieć coś więcej o tych wyzwalaczach? Masz tu na myśli normalny isset i wstawianie do bazy? To byłyby dwa zapytania, SELECT i INSERT (chyba, że da się je rozwiązać za jednym razem?). Aha, no i jeżeli miałbym to tak robić, to od razu chciałbym ustalić pozycję w rankingu, jak mogę to zrobić?
Ogólnie problem jest taki, że chcę zrobić ranking gier taki jak tutaj, z tą różnicą, że układałbym tylko wg średniej (dla gier mających więcej niż X ocen), a tam jest inny algorytm. Problem leży głównie w tym, że taki ranking jest w jakiś sposób dynamiczny. Jeżeli dziennie padnie X ocen, a ja będę generował ranking raz na dobę, to to może być troszkę niewiarygodne. |
|
|
|
spit Ranking i sprawa wydajności 19.07.2010, 21:43:24
Pawel16 Nie wiem czy dobrze zrozumiałem ale odpowiem tak j... 20.07.2010, 02:20:52
spit Zobacz do zapytania, ja już mam średnią arytmetycz... 20.07.2010, 15:13:41
athabus Na początek powiem, że nie wiem czy do końca rozum... 20.07.2010, 15:38:42
athabus ad1) Wyzwalacze to taki mechanizm, który powoduje ... 21.07.2010, 08:16:00
thek Chodzi o wyzwalacze bazy danych, nie kod php po st... 21.07.2010, 08:24:07
spit No dobrze, to rozumiem, a jeszcze pozycja w rankin... 21.07.2010, 19:42:55
thek A popatrz, że zapis i odczyt do pliku tablicy za k... 21.07.2010, 20:45:44 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 22:17 |