Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Jak wykonujecie UPDATE Mysql


Etaku

Rekomendowane odpowiedzi

Opublikowano

Witam, jak piszecie pluginy w jaki sposob aktualizujecie rekordy mysql? Ja napisalem plugin na zapis mysql i co event zapisywalo bezposrednio do bazy danych. Do cholery pytalem sie jednego programisty to napisal "Przykladowo 100 zapytan w czasie jednej sekundy to dla bazy danych pryszcz" no i chu... dla bazy danych moze tak dla mojej maszyny ni chu... Czy takie zapytania do mysql beda odpowiednie? Dodawac graczy do tablicy i jezeli uzbiera sie np. 10 killi to aktualizowac rekord i zerowac tablice od nowa. Takie cos bedzie ok czy jakimi sposobami robicie?

Opublikowano

Zapytania wysyłaj co np. 5 minut. A jeżeli chcesz uzyskać najlepszy efekt to:

 

1. Zrób sobie plik cache.

2. Zapisuj tam dane.

3. Gdy uzbiera się dużo danych, to wtedy je wysyłaj do mysql, a plik cache resetuj.

 

Załóżmy, że robisz plugin na statystyki PvP - 

gracz1 zabija innego gracza2. Zapisujesz w cache, że gracz1 zdobył jednego killa, a gracz2 deda.

Gdy uzbiera się już dużo graczy - to wtedy wysyłasz do mysql.

Gdy gracz1 chce zobaczyć swoje statystyki to wtedy sprawdzasz czy "gracz1" jest w pliku cache. Jeżeli nie to wtedy szukasz w mysql.

 

Nie zapisuj wszystkiego od razu. Zrób tablice, z której co minute będziesz przekazywał dane do cache.

Nie przesadzaj też z ilością danych w cache, ponieważ wtedy baza danych straci sens.

 

Opublikowano

Zapytania wysyłaj co np. 5 minut. A jeżeli chcesz uzyskać najlepszy efekt to:

 

1. Zrób sobie plik cache.

2. Zapisuj tam dane.

3. Gdy uzbiera się dużo danych, to wtedy je wysyłaj do mysql, a plik cache resetuj.

 

Załóżmy, że robisz plugin na statystyki PvP - 

gracz1 zabija innego gracza2. Zapisujesz w cache, że gracz1 zdobył jednego killa, a gracz2 deda.

Gdy uzbiera się już dużo graczy - to wtedy wysyłasz do mysql.

Gdy gracz1 chce zobaczyć swoje statystyki to wtedy sprawdzasz czy "gracz1" jest w pliku cache. Jeżeli nie to wtedy szukasz w mysql.

 

Nie zapisuj wszystkiego od razu. Zrób tablice, z której co minute będziesz przekazywał dane do cache.

Nie przesadzaj też z ilością danych w cache, ponieważ wtedy baza danych straci sens.

 

plik cache kolegi wyżej + jedna formułka, dokładnie jej nie pamiętam na szybsze wrzucanie rekordów do bazy danych i masz wydajną bazę danych ;)

 

(ona sama w sobie jest wydajna, ale tym ją w mniejszym stopniu przyspieszysz).

 

 

 

 

fKJeAI4.jpg

 

 

 

Opublikowano

Jezeli bedzie co 20 min pchane 200 zapytan to nie bedzie zamulac? Jezeli bedzie zrobie inaczej, ale czekam na odp.

Opublikowano

Najlepiej robić to bezpośrednio przy każdym killu.

 

A poza tym sądzę że Unia Europejska musi być zniszczona.

Q8eOMob.png

Opublikowano

Jezeli bedzie co 20 min pchane 200 zapytan to nie bedzie zamulac? Jezeli bedzie zrobie inaczej, ale czekam na odp.

Asynchronicznie nie, ale lepiej aktualizować na bieżąco w jakimś async listenerze.

Opublikowano

 

Jezeli bedzie co 20 min pchane 200 zapytan to nie bedzie zamulac? Jezeli bedzie zrobie inaczej, ale czekam na odp.

Asynchronicznie nie, ale lepiej aktualizować na bieżąco w jakimś async listenerze.
Ja nie pisze pluginow w Javie.

Czyli wybiore co 5-20 min zapis chyba nie bedzie lagowal xD.

Opublikowano

A jak się server popsuje i wyłączy?

 

A poza tym sądzę że Unia Europejska musi być zniszczona.

Uratuje sie sytuacje PlayerQuitEvent.
Opublikowano

 

A jak się server popsuje i wyłączy?

 

A poza tym sądzę że Unia Europejska musi być zniszczona.

Uratuje sie sytuacje PlayerQuitEvent.

 

 

Chodzi mi np. o crash servera.

 

A poza tym sądzę że Unia Europejska musi być zniszczona.

Q8eOMob.png

Opublikowano

 

 

A jak się server popsuje i wyłączy?

 

A poza tym sądzę że Unia Europejska musi być zniszczona.

Uratuje sie sytuacje PlayerQuitEvent.

 

 

Chodzi mi np. o crash servera.

 

A poza tym sądzę że Unia Europejska musi być zniszczona.

 

 

a co, jeżeli podczas wysyłania rekordów serwer sie wycrashuje? taki plik cache może to uratować, bo będzie na dysku cały czas sobie leżał, a po wstaniu serwera można go znowu w baze danych włożyc :)

 

co jednak to też zależy gdzie ma tą bazę danych, bo jeżeli ma swoją maszynę, to bez problemu można cały czas wysyłać, bo opóźnienia są niezauważalne, natomiast gdy na jakimś innym hostingu, to warto robić taki plik cache.

 

 

 

 

fKJeAI4.jpg

 

 

 

Opublikowano

 

 

 

A jak się server popsuje i wyłączy?

 

A poza tym sądzę że Unia Europejska musi być zniszczona.

Uratuje sie sytuacje PlayerQuitEvent.

Chodzi mi np. o crash servera.

 

A poza tym sądzę że Unia Europejska musi być zniszczona.

a co, jeżeli podczas wysyłania rekordów serwer sie wycrashuje? taki plik cache może to uratować, bo będzie na dysku cały czas sobie leżał, a po wstaniu serwera można go znowu w baze danych włożyc :)

 

co jednak to też zależy gdzie ma tą bazę danych, bo jeżeli ma swoją maszynę, to bez problemu można cały czas wysyłać, bo opóźnienia są niezauważalne, natomiast gdy na jakimś innym hostingu, to warto robić taki plik cache.

Ziomus serio?? Mam VPS tylko, ze korzystam z zewn. bazy danych. Czyli jezeli zainstaluje baze danych na tej maszynie co vps stoi to nie musze marnowac czasu na poprawianie pluginow? Czyli TPS nie spadna:P? Z drugiej strony logiczne, ale czy to naprawde bedzie niezauwazalne?
Opublikowano

 

 

 

 

A jak się server popsuje i wyłączy?

 

A poza tym sądzę że Unia Europejska musi być zniszczona.

Uratuje sie sytuacje PlayerQuitEvent.
Chodzi mi np. o crash servera.

 

A poza tym sądzę że Unia Europejska musi być zniszczona.

a co, jeżeli podczas wysyłania rekordów serwer sie wycrashuje? taki plik cache może to uratować, bo będzie na dysku cały czas sobie leżał, a po wstaniu serwera można go znowu w baze danych włożyc :)

 

co jednak to też zależy gdzie ma tą bazę danych, bo jeżeli ma swoją maszynę, to bez problemu można cały czas wysyłać, bo opóźnienia są niezauważalne, natomiast gdy na jakimś innym hostingu, to warto robić taki plik cache.

Ziomus serio?? Mam VPS tylko, ze korzystam z zewn. bazy danych. Czyli jezeli zainstaluje baze danych na tej maszynie co vps stoi to nie musze marnowac czasu na poprawianie pluginow? Czyli TPS nie spadna:P? Z drugiej strony logiczne, ale czy to naprawde bedzie niezauwazalne?

 

 

jeżeli baza danych będzie na tej samej maszynie co serwer, to opóżnienia będą PRAWIE zerowe, także ryzyko utraty danych jest, ale jest niewielkie, dlatego jeżeli chcesz miec 99% pewność, że nie utracisz danych przy crashu, zrób sobie ten plik cache i będziesz mógł spać spokojnie ;)

 

 

 

 

fKJeAI4.jpg

 

 

 

Opublikowano

 

 

 

 

 

A jak się server popsuje i wyłączy?

 

A poza tym sądzę że Unia Europejska musi być zniszczona.

Uratuje sie sytuacje PlayerQuitEvent.
Chodzi mi np. o crash servera.

 

A poza tym sądzę że Unia Europejska musi być zniszczona.

a co, jeżeli podczas wysyłania rekordów serwer sie wycrashuje? taki plik cache może to uratować, bo będzie na dysku cały czas sobie leżał, a po wstaniu serwera można go znowu w baze danych włożyc :)

 

co jednak to też zależy gdzie ma tą bazę danych, bo jeżeli ma swoją maszynę, to bez problemu można cały czas wysyłać, bo opóźnienia są niezauważalne, natomiast gdy na jakimś innym hostingu, to warto robić taki plik cache.

Ziomus serio?? Mam VPS tylko, ze korzystam z zewn. bazy danych. Czyli jezeli zainstaluje baze danych na tej maszynie co vps stoi to nie musze marnowac czasu na poprawianie pluginow? Czyli TPS nie spadna:P? Z drugiej strony logiczne, ale czy to naprawde bedzie niezauwazalne?

jeżeli baza danych będzie na tej samej maszynie co serwer, to opóżnienia będą PRAWIE zerowe, także ryzyko utraty danych jest, ale jest niewielkie, dlatego jeżeli chcesz miec 99% pewność, że nie utracisz danych przy crashu, zrób sobie ten plik cache i będziesz mógł spać spokojnie ;)
hmm jezeli serwer mc sie crashuje to baza danych nie przeciez. Jak to w ogole dziala?
Opublikowano

 

 

 

 

 

 

A jak się server popsuje i wyłączy?

 

A poza tym sądzę że Unia Europejska musi być zniszczona.

Uratuje sie sytuacje PlayerQuitEvent.
Chodzi mi np. o crash servera.

 

A poza tym sądzę że Unia Europejska musi być zniszczona.

a co, jeżeli podczas wysyłania rekordów serwer sie wycrashuje? taki plik cache może to uratować, bo będzie na dysku cały czas sobie leżał, a po wstaniu serwera można go znowu w baze danych włożyc :)

 

co jednak to też zależy gdzie ma tą bazę danych, bo jeżeli ma swoją maszynę, to bez problemu można cały czas wysyłać, bo opóźnienia są niezauważalne, natomiast gdy na jakimś innym hostingu, to warto robić taki plik cache.

Ziomus serio?? Mam VPS tylko, ze korzystam z zewn. bazy danych. Czyli jezeli zainstaluje baze danych na tej maszynie co vps stoi to nie musze marnowac czasu na poprawianie pluginow? Czyli TPS nie spadna:P? Z drugiej strony logiczne, ale czy to naprawde bedzie niezauwazalne?
jeżeli baza danych będzie na tej samej maszynie co serwer, to opóżnienia będą PRAWIE zerowe, także ryzyko utraty danych jest, ale jest niewielkie, dlatego jeżeli chcesz miec 99% pewność, że nie utracisz danych przy crashu, zrób sobie ten plik cache i będziesz mógł spać spokojnie ;)
hmm jezeli serwer mc sie crashuje to baza danych nie przeciez. Jak to w ogole dziala?

 

 

jeżeli podczas wysyłania rekordów serwer się wycrashuje, to te niewysłane pójdą w piach i nie będzie dało się ich odzyskać, o ile będzie ich na tyle dużo, że wysyłanie będzie trochę trwało, ale to i tak musiałoby być bardzo dużo rekordów, żeby na localhoscie tyle to trwało

 

 

 

 

fKJeAI4.jpg

 

 

 

Opublikowano

 

 

 

 

 

 

 

A jak się server popsuje i wyłączy?

 

A poza tym sądzę że Unia Europejska musi być zniszczona.

Uratuje sie sytuacje PlayerQuitEvent.
Chodzi mi np. o crash servera.

 

A poza tym sądzę że Unia Europejska musi być zniszczona.

a co, jeżeli podczas wysyłania rekordów serwer sie wycrashuje? taki plik cache może to uratować, bo będzie na dysku cały czas sobie leżał, a po wstaniu serwera można go znowu w baze danych włożyc :)

 

co jednak to też zależy gdzie ma tą bazę danych, bo jeżeli ma swoją maszynę, to bez problemu można cały czas wysyłać, bo opóźnienia są niezauważalne, natomiast gdy na jakimś innym hostingu, to warto robić taki plik cache.

Ziomus serio?? Mam VPS tylko, ze korzystam z zewn. bazy danych. Czyli jezeli zainstaluje baze danych na tej maszynie co vps stoi to nie musze marnowac czasu na poprawianie pluginow? Czyli TPS nie spadna:P? Z drugiej strony logiczne, ale czy to naprawde bedzie niezauwazalne?
jeżeli baza danych będzie na tej samej maszynie co serwer, to opóżnienia będą PRAWIE zerowe, także ryzyko utraty danych jest, ale jest niewielkie, dlatego jeżeli chcesz miec 99% pewność, że nie utracisz danych przy crashu, zrób sobie ten plik cache i będziesz mógł spać spokojnie ;)
hmm jezeli serwer mc sie crashuje to baza danych nie przeciez. Jak to w ogole dziala?

jeżeli podczas wysyłania rekordów serwer się wycrashuje, to te niewysłane pójdą w piach i nie będzie dało się ich odzyskać, o ile będzie ich na tyle dużo, że wysyłanie będzie trochę trwało, ale to i tak musiałoby być bardzo dużo rekordów, żeby na localhoscie tyle to trwało
Bez przesady te dane nie sa tak wazne, zawsze nadrobic moga. Jeszcze raz chce sie upewnic:

Co do mysql w localhost jezeli w evencie BlockBreakEvent przy kazdym zniszczonym bloku bede aktualizowal rekord np o +1 to przy 100 kopiacych graczach lagow nie bedzie? Bo nie wiem czy jutro mam tracic czas na edycje pluginow czy nie :P. Z gory dziekuje za odp.

Opublikowano

 

 

 

 

 

 

 

 

A jak się server popsuje i wyłączy?

 

A poza tym sądzę że Unia Europejska musi być zniszczona.

Uratuje sie sytuacje PlayerQuitEvent.
Chodzi mi np. o crash servera.

 

A poza tym sądzę że Unia Europejska musi być zniszczona.

a co, jeżeli podczas wysyłania rekordów serwer sie wycrashuje? taki plik cache może to uratować, bo będzie na dysku cały czas sobie leżał, a po wstaniu serwera można go znowu w baze danych włożyc :)

 

co jednak to też zależy gdzie ma tą bazę danych, bo jeżeli ma swoją maszynę, to bez problemu można cały czas wysyłać, bo opóźnienia są niezauważalne, natomiast gdy na jakimś innym hostingu, to warto robić taki plik cache.

Ziomus serio?? Mam VPS tylko, ze korzystam z zewn. bazy danych. Czyli jezeli zainstaluje baze danych na tej maszynie co vps stoi to nie musze marnowac czasu na poprawianie pluginow? Czyli TPS nie spadna:P? Z drugiej strony logiczne, ale czy to naprawde bedzie niezauwazalne?
jeżeli baza danych będzie na tej samej maszynie co serwer, to opóżnienia będą PRAWIE zerowe, także ryzyko utraty danych jest, ale jest niewielkie, dlatego jeżeli chcesz miec 99% pewność, że nie utracisz danych przy crashu, zrób sobie ten plik cache i będziesz mógł spać spokojnie ;)
hmm jezeli serwer mc sie crashuje to baza danych nie przeciez. Jak to w ogole dziala?

jeżeli podczas wysyłania rekordów serwer się wycrashuje, to te niewysłane pójdą w piach i nie będzie dało się ich odzyskać, o ile będzie ich na tyle dużo, że wysyłanie będzie trochę trwało, ale to i tak musiałoby być bardzo dużo rekordów, żeby na localhoscie tyle to trwało

Bez przesady te dane nie sa tak wazne, zawsze nadrobic moga. Jeszcze raz chce sie upewnic:

Co do mysql w localhost jezeli w evencie BlockBreakEvent przy kazdym zniszczonym bloku bede aktualizowal rekord np o +1 to przy 100 kopiacych graczach lagow nie bedzie? Bo nie wiem czy jutro mam tracic czas na edycje pluginow czy nie :P.

 

 

to zalezy jak to wszystko sobie uporządkujesz.

 

 

 

 

fKJeAI4.jpg

 

 

 

Opublikowano

 

 

 

 

 

 

 

 

 

A jak się server popsuje i wyłączy?

 

A poza tym sądzę że Unia Europejska musi być zniszczona.

Uratuje sie sytuacje PlayerQuitEvent.
Chodzi mi np. o crash servera.

 

A poza tym sądzę że Unia Europejska musi być zniszczona.

a co, jeżeli podczas wysyłania rekordów serwer sie wycrashuje? taki plik cache może to uratować, bo będzie na dysku cały czas sobie leżał, a po wstaniu serwera można go znowu w baze danych włożyc :)

 

co jednak to też zależy gdzie ma tą bazę danych, bo jeżeli ma swoją maszynę, to bez problemu można cały czas wysyłać, bo opóźnienia są niezauważalne, natomiast gdy na jakimś innym hostingu, to warto robić taki plik cache.

Ziomus serio?? Mam VPS tylko, ze korzystam z zewn. bazy danych. Czyli jezeli zainstaluje baze danych na tej maszynie co vps stoi to nie musze marnowac czasu na poprawianie pluginow? Czyli TPS nie spadna:P? Z drugiej strony logiczne, ale czy to naprawde bedzie niezauwazalne?
jeżeli baza danych będzie na tej samej maszynie co serwer, to opóżnienia będą PRAWIE zerowe, także ryzyko utraty danych jest, ale jest niewielkie, dlatego jeżeli chcesz miec 99% pewność, że nie utracisz danych przy crashu, zrób sobie ten plik cache i będziesz mógł spać spokojnie ;)
hmm jezeli serwer mc sie crashuje to baza danych nie przeciez. Jak to w ogole dziala?
jeżeli podczas wysyłania rekordów serwer się wycrashuje, to te niewysłane pójdą w piach i nie będzie dało się ich odzyskać, o ile będzie ich na tyle dużo, że wysyłanie będzie trochę trwało, ale to i tak musiałoby być bardzo dużo rekordów, żeby na localhoscie tyle to trwało
Bez przesady te dane nie sa tak wazne, zawsze nadrobic moga. Jeszcze raz chce sie upewnic:

Co do mysql w localhost jezeli w evencie BlockBreakEvent przy kazdym zniszczonym bloku bede aktualizowal rekord np o +1 to przy 100 kopiacych graczach lagow nie bedzie? Bo nie wiem czy jutro mam tracic czas na edycje pluginow czy nie :P.

to zalezy jak to wszystko sobie uporządkujesz.

Jak zalezy xD? Mam przypuscmy tabele a w niej rekord blocks i go aktualizuje o +1 przy kazdym wykopanym bloku :P.
Opublikowano

 

 

 

 

 

 

 

 

 

 

A jak się server popsuje i wyłączy?

 

A poza tym sądzę że Unia Europejska musi być zniszczona.

Uratuje sie sytuacje PlayerQuitEvent.
Chodzi mi np. o crash servera.

 

A poza tym sądzę że Unia Europejska musi być zniszczona.

a co, jeżeli podczas wysyłania rekordów serwer sie wycrashuje? taki plik cache może to uratować, bo będzie na dysku cały czas sobie leżał, a po wstaniu serwera można go znowu w baze danych włożyc :)

 

co jednak to też zależy gdzie ma tą bazę danych, bo jeżeli ma swoją maszynę, to bez problemu można cały czas wysyłać, bo opóźnienia są niezauważalne, natomiast gdy na jakimś innym hostingu, to warto robić taki plik cache.

Ziomus serio?? Mam VPS tylko, ze korzystam z zewn. bazy danych. Czyli jezeli zainstaluje baze danych na tej maszynie co vps stoi to nie musze marnowac czasu na poprawianie pluginow? Czyli TPS nie spadna:P? Z drugiej strony logiczne, ale czy to naprawde bedzie niezauwazalne?
jeżeli baza danych będzie na tej samej maszynie co serwer, to opóżnienia będą PRAWIE zerowe, także ryzyko utraty danych jest, ale jest niewielkie, dlatego jeżeli chcesz miec 99% pewność, że nie utracisz danych przy crashu, zrób sobie ten plik cache i będziesz mógł spać spokojnie ;)
hmm jezeli serwer mc sie crashuje to baza danych nie przeciez. Jak to w ogole dziala?
jeżeli podczas wysyłania rekordów serwer się wycrashuje, to te niewysłane pójdą w piach i nie będzie dało się ich odzyskać, o ile będzie ich na tyle dużo, że wysyłanie będzie trochę trwało, ale to i tak musiałoby być bardzo dużo rekordów, żeby na localhoscie tyle to trwało
Bez przesady te dane nie sa tak wazne, zawsze nadrobic moga. Jeszcze raz chce sie upewnic:

Co do mysql w localhost jezeli w evencie BlockBreakEvent przy kazdym zniszczonym bloku bede aktualizowal rekord np o +1 to przy 100 kopiacych graczach lagow nie bedzie? Bo nie wiem czy jutro mam tracic czas na edycje pluginow czy nie :P.

to zalezy jak to wszystko sobie uporządkujesz.

Jak zalezy xD? Mam przypuscmy tabele a w niej rekord blocks i go aktualizuje o +1 przy kazdym wykopanym bloku :P.

 

poczytaj na np. javastart o bazach danych, tam jest wszystko ładnie wytłumaczone jak to działa, jak poukładać zeby sprawnie działało.

 

 

 

 

fKJeAI4.jpg

 

 

 

Opublikowano

 

 

 

 

 

 

 

 

 

 

 

A jak się server popsuje i wyłączy?

 

A poza tym sądzę że Unia Europejska musi być zniszczona.

Uratuje sie sytuacje PlayerQuitEvent.
Chodzi mi np. o crash servera.

 

A poza tym sądzę że Unia Europejska musi być zniszczona.

a co, jeżeli podczas wysyłania rekordów serwer sie wycrashuje? taki plik cache może to uratować, bo będzie na dysku cały czas sobie leżał, a po wstaniu serwera można go znowu w baze danych włożyc :)

 

co jednak to też zależy gdzie ma tą bazę danych, bo jeżeli ma swoją maszynę, to bez problemu można cały czas wysyłać, bo opóźnienia są niezauważalne, natomiast gdy na jakimś innym hostingu, to warto robić taki plik cache.

Ziomus serio?? Mam VPS tylko, ze korzystam z zewn. bazy danych. Czyli jezeli zainstaluje baze danych na tej maszynie co vps stoi to nie musze marnowac czasu na poprawianie pluginow? Czyli TPS nie spadna:P? Z drugiej strony logiczne, ale czy to naprawde bedzie niezauwazalne?
jeżeli baza danych będzie na tej samej maszynie co serwer, to opóżnienia będą PRAWIE zerowe, także ryzyko utraty danych jest, ale jest niewielkie, dlatego jeżeli chcesz miec 99% pewność, że nie utracisz danych przy crashu, zrób sobie ten plik cache i będziesz mógł spać spokojnie ;)
hmm jezeli serwer mc sie crashuje to baza danych nie przeciez. Jak to w ogole dziala?
jeżeli podczas wysyłania rekordów serwer się wycrashuje, to te niewysłane pójdą w piach i nie będzie dało się ich odzyskać, o ile będzie ich na tyle dużo, że wysyłanie będzie trochę trwało, ale to i tak musiałoby być bardzo dużo rekordów, żeby na localhoscie tyle to trwało
Bez przesady te dane nie sa tak wazne, zawsze nadrobic moga. Jeszcze raz chce sie upewnic:

Co do mysql w localhost jezeli w evencie BlockBreakEvent przy kazdym zniszczonym bloku bede aktualizowal rekord np o +1 to przy 100 kopiacych graczach lagow nie bedzie? Bo nie wiem czy jutro mam tracic czas na edycje pluginow czy nie :P.

to zalezy jak to wszystko sobie uporządkujesz.
Jak zalezy xD? Mam przypuscmy tabele a w niej rekord blocks i go aktualizuje o +1 przy kazdym wykopanym bloku :P.

poczytaj na np. javastart o bazach danych, tam jest wszystko ładnie wytłumaczone jak to działa, jak poukładać zeby sprawnie działało.
Jezeli jest tam czysto o mysql poczytam a jezeli integracja z java to nie, bo pluginow nie pisze w tym jezyku.
Opublikowano

ale kłótnia.. szczerze nie chciało mi się tego czytać więc jeśli napisałem coś co ktoś uż napisał to ... ech nic xD

 

ogółem najlepiej robić kolejkowanie zapytań dla przykładu ja w logblocku zrobiłem tak że każde wykopanie postawienie bloku wrzucam do tabeli tak jakby

i potem sklejam zapytanie w jedno jebuckie xD i potem tylko co 1 sekunde wysyłam takie zapytanie które zawiera np 40 małych zapytań i zamiast zajebać 40 zapytań w 1 sekunde wysłam jedną

co do cache wydaje mi się że jest zbędy bo cache robi się po to że np:

mamy pluginy na bany

ktoś sie loguje SELECT do mysql ok jest nie wpuszczamy i wtedy do cache i nastepny raz

jesli jest w cache to nie wysyłamy zapytania dzięki temu nie spamujemy wgl mysql :)

 

Edit:

dobra troche jednak doczytałem i wysyłanie zapytań co kopanie jest złe dla przykładu na mc*4 jest 2k graczy i chciałbym napierdalać zapytaniem za każde wykopanie to by mi baza padłą szybciej niż sie serwer restartuje xD

wiec jedyna twoja opcja to kolejkowanie zapyttania i jak wyżej napisałem złożenie go do jednego jebutnego xD

Co ja tutaj robie...

Opublikowano

ale kłótnia.. szczerze nie chciało mi się tego czytać więc jeśli napisałem coś co ktoś uż napisał to ... ech nic xD

 

ogółem najlepiej robić kolejkowanie zapytań dla przykładu ja w logblocku zrobiłem tak że każde wykopanie postawienie bloku wrzucam do tabeli tak jakby

i potem sklejam zapytanie w jedno jebuckie xD i potem tylko co 1 sekunde wysyłam takie zapytanie które zawiera np 40 małych zapytań i zamiast zajebać 40 zapytań w 1 sekunde wysłam jedną

co do cache wydaje mi się że jest zbędy bo cache robi się po to że np:

mamy pluginy na bany

ktoś sie loguje SELECT do mysql ok jest nie wpuszczamy i wtedy do cache i nastepny raz

jesli jest w cache to nie wysyłamy zapytania dzięki temu nie spamujemy wgl mysql :)

 

Edit:

dobra troche jednak doczytałem i wysyłanie zapytań co kopanie jest złe dla przykładu na mc*4 jest 2k graczy i chciałbym napierdalać zapytaniem za każde wykopanie to by mi baza padłą szybciej niż sie serwer restartuje xD

wiec jedyna twoja opcja to kolejkowanie zapyttania i jak wyżej napisałem złożenie go do jednego jebutnego xD

I to jest strzal w dziestke! Myslalem tez by dodawac do tablicy i jesli uzbiera sie np. 300 blokow to aktualizowac. Kolego podsuniesz mi jakks pomysl jak sklejasz w jedno jebiutkie zapytanie? Bo to na pierwszy rzut oka wyglada zaje... Sorry za nowicjuszowskie pytania, ale mysql liznalem na szybko a przyloze sie do tego dopiero za jakis czas aktualnie brak czasu zbytnio na to.
Opublikowano

no robisz sobie stringa np

String query = "INSERT INTO blabla (....columns) VALUES (?,? tyle pytajnikow ile columns) potem masz swoja tablice lice i robisz petle

np

for(int i=0;i<size_tablicy_listy;i++){
query += ", (znow pytajniki jak wyżej)";

 i masz zapytanie zrobione np powinno wygladać dla 2 logow tak:

INSERT INTO `table` (`location`, `data`) VALUES (?, ?) , (?, ?);

coś takiego

a potem robisz

PreparedStatement xxD = database.prep...(query)

i potem musisz tylko

wrzucić przez xxD.setString.. dane no ale to tobie zostawiam :)

no i jak już wypełnisz danymi to robisz

xxD.executeUpdate

xxD.close();

koniec

 

Edit.

i potem najlepiej czyscic tablice/liste

podobnym sposobem chodź lepszym wrzucam logi z logblocka przy 3k graczy i tylko widze że w ciągu sekunde wrzucam nagle 150logów xD

Co ja tutaj robie...

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...