![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 230 Pomógł: 3 Dołączył: 8.01.2008 Ostrzeżenie: (10%) ![]() ![]() |
Piszę grę via www, menedżer siatkarski. Właśnie zastanawiam się, jak najlepiej zapisywać ustawienie zawodników (ustalane przed każdym meczem) na dany mecz. Dać po prostu dwa rekordy - formation1 i 2, w i nich wyprzecinkować IDy wszystkich zawodników? I wtedy np. pierwszy zawodnik w tym ciągu to rozgrywający, drugi libero, trzeci przyjmujący itp. Czy lepiej może zrobić 24 kolumny (w każdej drużynie może być 12 zawodników na mecz - 6 grjaących i 6 na rezerwie) i w każdej osobno zapisywać? Niby troche dużo kolumn sie porobi, jak się zrobi właśnie tak... A chyba explodowanie tych wyprzecinkowanych zawodników (np: 8,3,6,32,12,2,31...) nie jest złe? Mniej wtedy to miejsca w bazie zajmie
![]() -------------------- http://estender.net - profesjonalne strony i aplikacje internetowe (Ruby on Rails, Kohana PHP)
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 4 Dołączył: 6.11.2008 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
Jak na mój gust lepszym rozwiązaniem była by dodatkowa tabelka
id_meczu, id_drużyny, id_zawodnika, id_pozycji i tam byś miał przechowywane ustawienie, -------------------- Dysortografik -> nie besztać za błędy ;P
pomogłem ? -> kliknij "pomógł" ;) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 230 Pomógł: 3 Dołączył: 8.01.2008 Ostrzeżenie: (10%) ![]() ![]() |
Hm, ale wtedy zamiast dwóch ciągów z około 30 znakami uzyskam 24 rekordy w dodatkowej tabeli. Na pewno jest to lepsze wyjście? Niby wydaje się bardziej profesjonalne, albo - przecinki wydają się nieprofesjonalne, ale wtedy będziemy mieli o jedną tabele mniej.
Żeby lepiej zobrazować, przecinki: Cytat '432,211,232,234,233,231,321,320,322,323,324,330' '100,101,102,103,104,105,106,107,108,109,110,111' Tabela: Cytat mecz team position plr 5 1 1 432 5 1 2 211 5 1 3 433 5 1 4 434 5 1 5 435 5 1 6 436 5 1 7 437 5 1 8 438 5 1 9 439 5 1 10 440 5 1 11 441 5 1 12 442 5 2 1 101 5 2 2 102 5 2 3 103 5 2 4 104 5 2 5 105 5 2 6 106 5 2 7 107 5 2 8 108 5 2 9 109 5 2 10 110 5 2 11 111 5 2 12 112 No i jeszcze ma być takie coś, jak ustawienie domyślne - jeżeli użytkownik nie ustawił żadnego na dany mecz, to właśnie domyślne będzie w danym meczu. To w tym wyjściu z dodatkową tabelą, może zrobićby tak, że meczId=0 dla domyślnego ustawienia? ![]() ![]() Dla aktualnego wyjścia, z przecinkami, domyślne ustawienie wrzuciłem w tabelę z drużynami - dodatkowa kolumna. -------------------- http://estender.net - profesjonalne strony i aplikacje internetowe (Ruby on Rails, Kohana PHP)
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Co do explode - uwzglednij to jak bedziesz przeszukiwal te dane.
Optymalizowanie aplikacji TYLKO pod ilosc zajmowanego miejsca w bazie jest glupota. Co z tego ze dane beda ci zajmowac 10% miejsca, jesli nie bedziesz mogl niektorych operacji w ogole zrobic, a czesc bedzie strasznie powolna -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 4 Dołączył: 6.11.2008 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
Co z tego że będzie więcej rekordów jak operacje na nich będą dużo prostsze i szybsze.
porównaj sobie np jak wyciągnąć na jakiej pozycji grał zawodnik x w meczu y, lub jaki zawodnik gał na jakiejś pozycji itp. W przypadku dodatkowej tabelki wyciągnięcie tego to jedno proste zapytanie które bardzo szybko się wykona, a w wersji z przecinkami potrzebne już są dodatkowe operacje które znacznie wpłyną na wydajność Twojej aplikacji. co do ustawień domyślnych można mieć mecz o id=0 lub dodatkową tabelkę która będzie trzymała ustawienia domyslne dla drużyn. -------------------- Dysortografik -> nie besztać za błędy ;P
pomogłem ? -> kliknij "pomógł" ;) |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.06.2025 - 06:39 |