Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Przechowywanie "przedniotów" w bazie
GreenGo
post
Post #1





Grupa: Zarejestrowani
Postów: 265
Pomógł: 4
Dołączył: 30.08.2004

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


Witam,
oto kolejny problem, na którego jest wiele możliwości rozwiązania i nie wiem która najlepsza (IMG:style_emoticons/default/smile.gif)
Tworzę grę w php, i każdy użytkownik (gracz) będzie mógł sobie kupować w sklepie przedmioty (broń, jedzenie itp.)
No i pytanie brzmi jak najlepiej (optymalnie) przechowywać te przedmioty w bazie ?
1. Stworzyć nową tabele która będzie je przechowywała(1 posiadanie przedmiotu 1 rekord) ? - tylko jak będzie 1000 graczy i każdy będzie miał 100 przedmiotów to ilość rekordów wyniesie 100 000:/
2. Przechowywać przedmioty oddzielone przecinkami w oddzielnym polu w tabelipostaci ? - trochę potem będzie roboty z przetwarzaniem tego pola
3. Stworzyć tabele z przedmiotami i w polach przechowywać id użytkowników którzy je mają?
4. Stworzyć tabele z przedmiotami i w polu w tabeli z graczami przechowywać id przedmiotów jakie posiada ?

Taki możliwości mi na razie przychodzą do głowy. Może ktoś ma lepszy pomysł ? Co będzie najwydajniejsze ?

Ten post edytował GreenGo 26.05.2010, 15:30:26
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
tehaha
post
Post #2





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


ilość rekordów na pewno wpłynie na szybkość działania, ale w takim układzie jeżeli potrzebujesz wyświetlić przedmioty to robisz zwykły JOIN i prostym zapytaniem szybko wyciągasz to co potrzebne, a jeżeli będziesz trzymał przedmioty użytkownika po przecinku, albo w jakiejś tablicy to znacznie komplikuje wszystko, po za tym wydaje mi się, że operacje na polach typu INT, będą dużo szybsze niż na danych gromadzonych w VARCHAR

a co do zmniejszenia obciążenia możesz np zrobić tak, że raz pobrane przedmioty użytkownika wrzucasz do tablicy i zapisujesz w sesji i już nie wykonujesz więcej połączeń, chyba że gracz wykona działanie wpływające na liczbę przedmiotów

Ten post edytował tehaha 26.05.2010, 17:31:49
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: 15.10.2025 - 13:03