Jestem w trakcie pisania dużgo projektu,serwera do gry. Zakładam osiągnięcie więcej niż 550 graczy w jednej chwili. Jest problem dlatego, że niestety MUSZĘ mieć około 100 kolumn w bazie. Do tego powinno dojść około 700 postaci, bo nie każdy gra w jednej chwili ale tam są te 'Postacie graczy'.
Dlatego podczas uruchamiania serwera, zamykania, crashingu, wychodzenia gracza z serwera, wchodzenia gracza na serwer muszę jakoś umiejętnie pobrać te dane. Przy starcie i zamknięciu serwera dane wszystkich osób z serwera co są aktywne. Ale jak gracz wchodzi na serwer to mogę tylko jego.
Myślałem nad czymś takim:
?Wczytywanie wszystkich graczy
local gracze = exports.sql:query_assoc_single( "SELECT * FROM postacie WHERE graczID = " .. tonumber( userID ) .. " AND postacID = " .. tonumber( charID ) ) p[ source ].money = gracze.Pieniadze p[ source ].characterName = gracze.NazwaPostaci ...i tak około 100 kolumn.
Potem przypisuję postacID do stałej player by skrypty wiedziały o którego gracza chodzi. Jeżeli chodzi o inne skrypt to zamierzam się odwoływać w sposób p[ source ].Coś_co_chce. Działać na takiej tablicy i jak serwer zostanie zamknięy, gracz wyjdzie czy coś to całą zrzucić do bazy zapytaniem.
Jak ktoś wie jak to zoptymalizować albo coś zmienić to będę wdzięczny.
http://lua-users.org/wiki/TablesTutorial
