rekordy w bazie
DB
09.03.2009
Witam, z tego co zauważyłem plugin tworzy w tabeli rekordy jesli dany steamid pierwszy raz wejdzie na serwer. Nawet jeśli ktoś używa jednej klasy w tabeli tworzone są rekordy dla każdej klasy (w sumie 8 dla każdego gracza). Przy kilku tysiącach graczy mogą pojawić się wyraźne opóźnienia np. przy wyborze klasy.
Może dałoby się tak zmodyfikować moda aby tworzył rekordy gracza dla danej klasy dopiero jeśli ją wybierze lub zdobęcie pierwsze punkty ? Ograniczyłoby to znacznie ilość rekordów w tabeli z których większość jest pustych
pozdrawiam
Może dałoby się tak zmodyfikować moda aby tworzył rekordy gracza dla danej klasy dopiero jeśli ją wybierze lub zdobęcie pierwsze punkty ? Ograniczyłoby to znacznie ilość rekordów w tabeli z których większość jest pustych
pozdrawiam
R3X
09.03.2009
Jeśli już poruszyłeś wątek optymalizacji bazy danych to dorzucę swoje 12 groszy.
Tworzenie rekordów przy wyborze klasy z odpowiednim kluczem głównym tabeli ograniczyłoby się do dopisania 1 zapytania SQL, a oszczędność miejsca na pewno będzie wymierna.
Kolejna rzecz to powielanie informacji. Każdy rekord zawiera wszystkie dane użytkownika: nick,ip,steamid. Gdyby umieścić te informacje w drugiej tabeli i połączyć kluczem ID oszczędzi się sporo, bo 7*63 bajtów na użytkowniku.
Tworzenie rekordów przy wyborze klasy z odpowiednim kluczem głównym tabeli ograniczyłoby się do dopisania 1 zapytania SQL, a oszczędność miejsca na pewno będzie wymierna.
Kolejna rzecz to powielanie informacji. Każdy rekord zawiera wszystkie dane użytkownika: nick,ip,steamid. Gdyby umieścić te informacje w drugiej tabeli i połączyć kluczem ID oszczędzi się sporo, bo 7*63 bajtów na użytkowniku.
DB
09.03.2009
Zgadzam się, pomysł bardzo dobry i myślę że optymalizacja bazy powinna być priorytetem przy przygotowywaniu kolejnej wersji.
Miczu
09.03.2009
Ja nie mam nic przeciwko, choc to glownie zalezy od Gutka bo on sie zajmuje w znacznym stopniu sql'em (ja sie trzymam glownie pawn'a).