![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 1 Dołączył: 17.09.2007 Ostrzeżenie: (0%)
|
Witam.
Mam zamiar zrobić a właściwie juz robię prostą gierkę na przeglądarkę ( tekstową ). Póki co mam 3 tabele : info o graczu ( poziom, statystyki i jakies 24 inne parametry postaci ), spis jego narzedzi ( z ich parametrami i ilością ), spis wszystkich narzedzi w grze ( rowniez z parametrami i innymi duperelami) Zastanawiam sie tylko, czy nie spadnie wydajnosc strony przy wiekszej ilosci ludzi jak zostawie takie 3 tabele czy moze jednak zapisywac kazdego gracza w osobnej tabeli i w niej wszystko co sie jego tyczy... czyli tabela "nick gracza" a w niej poziom, statystyki, narzedzia i inne duperele czyli dwie połączone tabele ale kosztem tego, że kazdy gracz bedzie inną tabelą ;P mam nadzieję, że jasno się wyrazilem ;P |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 273 Pomógł: 21 Dołączył: 28.11.2010 Ostrzeżenie: (10%)
|
skad w ogole taki pomysl? 1 tabela = 1 uzytkownik to dopiero bylaby katastrofa
zostaw tak jak masz teraz |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 486 Pomógł: 101 Dołączył: 27.06.2010 Ostrzeżenie: (0%)
|
a po co są tabele? (IMG:style_emoticons/default/tongue.gif)
|
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 1 Dołączył: 17.09.2007 Ostrzeżenie: (0%)
|
żebym sobie uporządkował masę danych ?
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 3 Dołączył: 16.10.2008 Ostrzeżenie: (0%)
|
Cytat czy moze jednak zapisywac kazdego gracza w osobnej tabeli Z tego co piszesz wynika, że gdy masz na przykład 100 graczy, to musisz mieć 100 tabeli. Robisz jedną tabelę i do niej wrzucasz rekordy. @edit: Zrób np. tak: tabela [gracze]: -> uid, -> login, -> password, -> level, -> itd... Ten post edytował PlayKiller 28.03.2011, 18:17:15 |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 247 Pomógł: 11 Dołączył: 5.09.2009 Ostrzeżenie: (0%)
|
Co to za dziwny pomysł żeby każdy gracz był oddzielną tabelą (IMG:style_emoticons/default/arrowheadsmiley.png)
|
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 1 Dołączył: 17.09.2007 Ostrzeżenie: (0%)
|
wiem , że dziwny pomysł ;P ale wpadł mi w momencie gdy pomyślalem, że jak ( tu z usmiechem ) bedzie 1000 osob ( o ile w zyciu bym sie doczekal tylu ;P)
to jak każdy będzie miał w tabeli "dla wszystkich" po 100 itemow to skrypt szukający danych konkretnego uzytkownika chyba troche sie zamuli ( tak przynajmniej sadze ) i dlatego pomysl zeby kazdy mial swoja tabele w ktorej ma tylko swoje dane ( chociaz tez wydawalby mi sie uciazliwy dlatego pytam jak inni sądzą ) ale juz mam dpowiedź więc dzięki (IMG:style_emoticons/default/wink.gif) |
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 3 Dołączył: 16.10.2008 Ostrzeżenie: (0%)
|
Cytat to jak każdy będzie miał w tabeli "dla wszystkich" po 100 itemow to skrypt szukający danych konkretnego uzytkownika chyba troche sie zamuli Nie doceniasz potęgi baz danych. |
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 763 Pomógł: 117 Dołączył: 15.03.2010 Skąd: void Ostrzeżenie: (0%)
|
Ze spokojem; bazy danych nie `zamulisz`.
Byłoby to realne przy 10000 użytkowników non-stop odświeżających stronę (IMG:style_emoticons/default/wink.gif) To zależy raczej od parametrów stacji roboczej/serwera niż samej bazy. kombinuj (IMG:style_emoticons/default/smile.gif) |
|
|
|
Post
#10
|
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%)
|
|
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 561 Pomógł: 72 Dołączył: 15.11.2006 Ostrzeżenie: (0%)
|
O matko, każdy świeżak zawsze ma takie pomysły na początku, że chciałby robić tabelę dla każdego użytkownika, skąd to się w ogóle bierze.... A pomyśl jakbyś wtedy napisał zapytanie które wyciągało by 10 ostatnio zarejestrowanych użytkowników sortując od najnowszego no najstarszego ? - podpowiedź: "nie napisałbyś". Są bazy co mają po milion rekordów i sobie radzą. Druga sprawa to to, że jeśli uda ci się osiągnąć milion użytkowników to będziesz zarabiał kupę kasy i zatrudnisz kogoś kto to zrobi lepiej. A teraz pamiętaj, są dwie zasady optymalizacji:
1. Dont do it ! 2. Dont do it yet ! Tak więc na razie nawet nie przejmuj się optymalizacją bo sądząc po tym co napisałeś i tak nie zrobisz tego dobrze (IMG:style_emoticons/default/wink.gif) Ten post edytował krowal 29.03.2011, 18:00:43 |
|
|
|
Post
#12
|
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 7 Dołączył: 27.03.2011 Skąd: Kęty Ostrzeżenie: (0%)
|
1. Dont do it ! 2. Dont do it yet ! Podpisuje się wszystkimi czterema kończynami. W temacie nie przejmuj się tym mam tabele gdzie jest kilka milionów rekordów i wszystko śmiga że aż miło (IMG:style_emoticons/default/wink.gif) Proponuje tabele Itemy (wszystkie narzędzia w grze, jeden wiersz jedno narzędzie, kolumny to atrybuty opisujące narzędzie) | UserItems (narzędzia powiązane z użytkownikiem starcza 2 kolumny user_id i item_id (ewentualnie dodaj trzecią na ilość)) | Users (wszyscy użytkownicy, kolumny to atrybuty opisujące urzytkownika) Na początek powinno starczyć, spróbuj wyjść od tego i pokarz co ci wyszło (IMG:style_emoticons/default/wink.gif) Ten post edytował wmatusiak 29.03.2011, 19:51:23 |
|
|
|
Post
#13
|
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 1 Dołączył: 17.09.2007 Ostrzeżenie: (0%)
|
Podpisuje się wszystkimi czterema kończynami. W temacie nie przejmuj się tym mam tabele gdzie jest kilka milionów rekordów i wszystko śmiga że aż miło (IMG:style_emoticons/default/wink.gif) Proponuje tabele Itemy (wszystkie narzędzia w grze, jeden wiersz jedno narzędzie, kolumny to atrybuty opisujące narzędzie) | UserItems (narzędzia powiązane z użytkownikiem starcza 2 kolumny user_id i item_id (ewentualnie dodaj trzecią na ilość)) | Users (wszyscy użytkownicy, kolumny to atrybuty opisujące urzytkownika) Na początek powinno starczyć, spróbuj wyjść od tego i pokarz co ci wyszło (IMG:style_emoticons/default/wink.gif) Właściwie miałem tak skontruowaną bazę z wyjątkiem tabeli UserItems bo mam tam więcej informacji ze względu na to że chce pozwolić na ulepszenia danego itemka dlatego samo id nie pozwoli mi pobrac konkretnego itemu (IMG:style_emoticons/default/wink.gif) mam jeszcze jeden mały problemik ;P mam w tabeli pole LVL oczywiscie INT... tylko, że jak pobieram z tabeli dane i sortuje wyniki wg LVL to otrzymuje takie coś: 1 10 11 12 13 14 15 16 17 18 19 2 zamiast tego co oczekiwałem (IMG:style_emoticons/default/wink.gif) da się to jakoś poprawić ? |
|
|
|
Post
#14
|
|
|
Grupa: Zarejestrowani Postów: 224 Pomógł: 3 Dołączył: 24.12.2010 Ostrzeżenie: (0%)
|
A podaj kawałek kodu odpowiadający za tą czynność...
Wtedy będę mógł ci pomóc, bo jak wiesz... (chyba ;]) nikt nie potrafi czytać w myślach w ten sposób |
|
|
|
Post
#15
|
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 1 Dołączył: 17.09.2007 Ostrzeżenie: (0%)
|
|
|
|
|
Post
#16
|
|
|
Grupa: Zarejestrowani Postów: 224 Pomógł: 3 Dołączył: 24.12.2010 Ostrzeżenie: (0%)
|
A więc tak...
Dlaczego jak używasz mysql, masz taga mssql? Tak się to na ogół pisze... DESC znaczy malejąco, czyli będzie uporządkowywać według levela malejąco, jak w rankingu... Potem jak pewnie wiesz, musisz jakiegoś while lub fora, by wypisać wszystkie rekordy... Jak chcesz bardziej szczegółowo, to podaj cały kod i z poprawnymi nazwami tabel... |
|
|
|
Post
#17
|
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 1 Dołączył: 17.09.2007 Ostrzeżenie: (0%)
|
DESC tym bardziej nie ... ani ASC ani DSC nie sortuje mi wyników po kolei ( 1,2,3,4,5...) tylko (1,10,11...2,20,21...)
DESC to wgl mi ja odwraca "do gory nogami " jakies inne pomysły ? |
|
|
|
Post
#18
|
|
|
Grupa: Zarejestrowani Postów: 224 Pomógł: 3 Dołączył: 24.12.2010 Ostrzeżenie: (0%)
|
Jak masz tablicę gracze, i tam kolumnę lvl to się na ogół daje:
Tak się to normalnie robi... jak ci nie działa, to pewnie nie potrafisz pisać ;] Co do tego group by nie jestem pewien... A pozatym zobacz se to: order by w mysql |
|
|
|
Post
#19
|
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 1 Dołączył: 17.09.2007 Ostrzeżenie: (0%)
|
w czym tu mogłem sie pomylić ? manuala do ORDER BY raczej nie potrzebuję bo średnio jest tu się w czym pomylić ... kod nadal nie dziala poprawnie ( nie sortuje- wszystko inne działa ) // z drugiej strony dzieki za przypomnienie o mysql_fetch_assoc ;P Ten post edytował maxis88 3.04.2011, 17:07:49 |
|
|
|
Post
#20
|
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%)
|
w czym tu mogłem sie pomylić ? manuala do ORDER BY raczej nie potrzebuję bo średnio jest tu się w czym pomylić ... miałem już pisać wczoraj ale zauważyłem, że napisałeś, iż dane pole po którym sortujesz jest typu integer... jednak jak dla mnie to sortowanie jest "słownikowe" - czyli pole owe chyba jednak nie masz w bazie typu integer - nie wiem też jak się zachowuje mysql jeśli zrobisz literówkę i napiszesz coś podobnego do integer - upewnij się co do struktury tabeli... |
|
|
|
Post
#21
|
|
|
Grupa: Zarejestrowani Postów: 224 Pomógł: 3 Dołączył: 24.12.2010 Ostrzeżenie: (0%)
|
A ja mu radzę się dobrze nauczyć php, bo to co teraz wyprawia...
Pyta się o podstawy! Kup sobie książkę dotyczącą php i mysql... Bo jak będziesz nas się pytał o każdą inną funkcję... A poza tym masz do czegoś google... poszukaj sobie... |
|
|
|
Post
#22
|
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 1 Dołączył: 17.09.2007 Ostrzeżenie: (0%)
|
miałem już pisać wczoraj ale zauważyłem, że napisałeś, iż dane pole po którym sortujesz jest typu integer... jednak jak dla mnie to sortowanie jest "słownikowe" - czyli pole owe chyba jednak nie masz w bazie typu integer - nie wiem też jak się zachowuje mysql jeśli zrobisz literówkę i napiszesz coś podobnego do integer - upewnij się co do struktury tabeli... heh nie wiem jakim cudem ale musiałem chyba patrzyć na inna tabelę ... faktycznie tabela "monsters" w kolumnie LVL ma wartosc "TEXT" co było powodem tego blędu ... takie moje małe niedopatrzenie a wielkie HALO (IMG:style_emoticons/default/haha.gif) A ja mu radzę się dobrze nauczyć php, bo to co teraz wyprawia... Pyta się o podstawy! Kup sobie książkę dotyczącą php i mysql... Bo jak będziesz nas się pytał o każdą inną funkcję... A poza tym masz do czegoś google... poszukaj sobie... Ksiażkę z PHP i MySQL już mam od kilku lat i na tym etapie na którym jestem i uzywam przy pisaniu gry ona mi wystarcza ("PHP 4 od podstaw " Helionu ) i jak napisalem przed chwilą błąd nie tkwil w nieznajomości mysql czy php ale na przypadkowym blędzie przy tworzeniu tabeli więc proszę się nie wymądrzać, bo każdy tu tylko odsyła do manuala czy google jak by nikt nigdy wczesniej nie szukal tam informacji dla siebie ... jesli nie masz nic do dodania to po cholere sie wypowiadasz ... mam pomysl jak pomoc- piszę, a nie doradzam jak sie dalej męczyć bo powoduje to tylko kolejne bezsensowne posty na forum... |
|
|
|
Post
#23
|
|
|
Grupa: Zarejestrowani Postów: 224 Pomógł: 3 Dołączył: 24.12.2010 Ostrzeżenie: (0%)
|
Sorki za to, ale myślałem, że nic nie potrafisz... Ale jak to tylko niedopatrzenie to spoko...
Ale i tak powinieneś sam do tego dojść... Albo w przeciwnym razie napisać nam jak wygląda tabela (IMG:style_emoticons/default/closedeyes.gif) |
|
|
|
![]() ![]() |
|
Aktualny czas: 24.12.2025 - 18:37 |