Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MSSQL]mała gra, wydajność bazy danych
maxis88
post 28.03.2011, 13:39:15
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
krowal
post 29.03.2011, 17:59:58
Post #2





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 wink.gif

Ten post edytował krowal 29.03.2011, 18:00:43


--------------------
Nawet świnka może wejść na drzewo kiedy jest chwalona :)
Go to the top of the page
+Quote Post
wmatusiak
post 29.03.2011, 19:50:53
Post #3





Grupa: Zarejestrowani
Postów: 25
Pomógł: 7
Dołączył: 27.03.2011
Skąd: Kęty

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


Cytat(krowal @ 29.03.2011, 18:59:58 ) *
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 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 wink.gif

Ten post edytował wmatusiak 29.03.2011, 19:51:23
Go to the top of the page
+Quote Post
maxis88
post 2.04.2011, 10:15:29
Post #4





Grupa: Zarejestrowani
Postów: 110
Pomógł: 1
Dołączył: 17.09.2007

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


Cytat(wmatusiak @ 29.03.2011, 20:50:53 ) *
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 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 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 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 wink.gif
da się to jakoś poprawić ?
Go to the top of the page
+Quote Post

Posty w temacie
- maxis88   [MSSQL]mała gra   28.03.2011, 13:39:15
- - emajl22   skad w ogole taki pomysl? 1 tabela = 1 uzytkownik ...   28.03.2011, 13:42:05
- - gorden   a po co są tabele?   28.03.2011, 15:33:07
- - maxis88   żebym sobie uporządkował masę danych ?   28.03.2011, 16:35:55
- - PlayKiller   Cytatczy moze jednak zapisywac kazdego gracza w os...   28.03.2011, 18:15:49
- - wiewiorek   Co to za dziwny pomysł żeby każdy gracz był oddzie...   28.03.2011, 18:31:23
- - maxis88   wiem , że dziwny pomysł ;P ale wpadł mi w momencie...   29.03.2011, 13:35:29
|- - markonix   Cytat(maxis88 @ 29.03.2011, 14:35:29 ...   29.03.2011, 15:00:57
- - PlayKiller   Cytatto jak każdy będzie miał w tabeli "dla w...   29.03.2011, 14:01:01
- - modern-web   Ze spokojem; bazy danych nie `zamulisz`. B...   29.03.2011, 14:11:50
- - krowal   O matko, każdy świeżak zawsze ma takie pomysły na ...   29.03.2011, 17:59:58
|- - wmatusiak   Cytat(krowal @ 29.03.2011, 18:59:58 )...   29.03.2011, 19:50:53
|- - maxis88   Cytat(wmatusiak @ 29.03.2011, 20:50:5...   2.04.2011, 10:15:29
- - kuba_pilach   A podaj kawałek kodu odpowiadający za tą czynność....   2.04.2011, 13:26:40
- - maxis88   [SQL] pobierz, plaintext $zaznacz=mysql_query...   2.04.2011, 18:21:51
- - kuba_pilach   A więc tak... Dlaczego jak używasz mysql, masz ta...   2.04.2011, 18:30:05
- - maxis88   DESC tym bardziej nie ... ani ASC ani DSC nie sort...   2.04.2011, 23:28:22
- - kuba_pilach   Jak masz tablicę gracze, i tam kolumnę lvl to się ...   3.04.2011, 11:53:48
- - maxis88   [PHP] pobierz, plaintext $zaznacz=mysql_query...   3.04.2011, 17:07:02
|- - zegarek84   Cytat(maxis88 @ 3.04.2011, 18:07:02 )...   3.04.2011, 18:44:36
|- - maxis88   Cytat(zegarek84 @ 3.04.2011, 19:44:36...   3.04.2011, 21:45:58
- - kuba_pilach   A ja mu radzę się dobrze nauczyć php, bo to co ter...   3.04.2011, 20:12:14
- - kuba_pilach   Sorki za to, ale myślałem, że nic nie potrafisz......   4.04.2011, 14:42:29


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

 



RSS Wersja Lo-Fi Aktualny czas: 18.06.2025 - 12:14