-
Most
Szczecin, listopad 2009
-
Dziewoklicz
Szczecin, listopad 2009
-
Optymalizacja MySQL, część 1 - Indeksy
Wstęp
MySQL jest chyba najpowszechniej używaną bazą danych w różnego typu aplikacjach internetowych: od portali, przez fora, blogi, gry i inne rodzaje stron. Dlaczego? Bo jest szybka, prosta, darmowa i się przyjęła. Oprócz ewidentnych zalet ma też serię wad: standardowy engine MyISAM nie jest transakcyjny, nie jest bezpieczny, przy zapisie blokuje całą tabelę, a nie pojedynczy rekord. Jakby tego jeszcze było mało, to w 95% procentach przypadków, właśnie baza MySQL jest wąskim gardłem całej aplikacji i to jej wydajność (szybkość przetwarzania zapytań) decyduje o wydajności całego rozwiązania. Pracując nad pewną aplikacją (Pulsar-Online), przez ostatni tydzień starałem się skupić właśnie nad sprawą optymalizacji MySQL na której oparty jest Pulsar i podzielić się swoimi spostrzeżeniami na ten temat.
Po pierwsze, specyfika aplikacji internetowych, a przynajmniej ich większość, więcej odczytuje z bazy danych, niż do niej zapisuje. UPDATE i INSERT stanowią mniejszość w porównaniu z liczbą wykonywanych SELECTów. Wydajność pobierania rekordów z bazy ma więc dość duże znaczenie.
Ogólnie
Zastanówmy się, jak MySQL pobiera dane z tabeli, jeśli wybrana tabela nie posiada indeksów na polach które uwzględnimy w zapytaniu (zarówno w JOIN jak i WHERE lub ORDER BY). Dla każdego zapytania skanuje od początku wszystkie rekordy w tabeli, aż warunek nie zostanie znaleziony. Jeśli nie uwzględnimy LIMIT, MySQL będzie skanował dalej, aż do końca tabeli. Co to dla nas oznacza? Wyjaśnię na przykładzie.
-
Pulsar Online: worklog
Po raz kolejny wróciłem do pracy nad Pulsar Online. W tym tempie szybko nie skończę tej gry, lecz znów widać pewne postępy, kolejne rzeczy zaczęły wreszcie działać:
- możliwość zakupu wyposażenia
- podstawowe zarządzanie wyposażeniem
- możliwość zakupu uzbrojenia
- podstawowe zarządzanie uzbrojeniem
W chwili obecnej na agendzie są:
- rejestracja graczy
- optymalizacja bazy danych
- prace koncepcyjne nad:
- schematem walki, najprawdopodobniej zostanie on uproszczony względem moich oryginalnych pomysłów
- interakcja z NPC
- zarządzanie grą
Lista rzeczy do zrobienia jest ciągle bardzo długa aby można było myśleć o jakiś testach. Zobaczymy...
-
Baja Poland Szczecin 2009
W miniony weekend w Szczecinie odbyła się impreza motoryzacyjna pod tytułem Baja Poland Szczecin 2009, czyli Mistrzostwa Europy w Rajdach Terenowych. Brzmi całkiem imponująco. Tym bardziej, że rajd został zorganizowany pod patronatem FIA. Co więcej, istnieje szansa, że będzie to impreza cykliczna.
Muszę przyznać, iż jak na Szczecin, to dość duże wydarzenie. Pierwsze tego typu. Był Hołowczyc, Miasteczko Rajdowe, trzy trasy po polach górach i dolinach. W sumie kilkaset kilometrów odcinków specjalnych położonych na terenie gmin Dobra, Police i Szczecin.
Nie jestem wielkim fanem rajdów samochodowych, ale jedna z tras była położona tuż za moim oknami i nie mogłem sobie odmówić odwiedzenia imprezy. Miasteczko rajdowe i jego "atrakcje" sobie odpuściłem, ale na OSie wstyd było się nie pojawić. I choć bardzo się cieszę, że taka impreza została zorganizowana, to dało się zauważyć pewne luki organizacyjne.
Po pierwsze, nagłośnienie medialne: za małe. Dużo za małe. Kilka plakatów i wzmianki w radio dzień wcześniej to zdecydowania za mało aby przyciągnąć ludzi. Większość moich znajomych nawet nie zdawała sobie sprawy, że taka impreza w ogóle się odbyła.
Strona rajdu skutecznie ukrywała (i dalej ukrywa) informacje przydatne dla ewentualnego kibica. Przykładowo, zabrakło rozpiski których odcinek specjalny zaczyna się o której godzinie i gdzie jest umiejscowiony start (no i meta). Niby była mapka, harmonogram dla kierowców, ale powiązania który OS gdzie się znajduje już nie było. Trzeba było się domyślać, że 'pole' to trasa pomiędzy Dobrą i Wąwelnicą, 'pole-działki' to to bliżej Dobrej, a 'pole-żwirownia' jest bliżej Lubieszyna.
Samo oznakowanie start i met OSów pozostawało wiele do życzenia. Małą tabliczkę przy drodze łatwo jest przegapić. Parkingi były za małe, brakowało choćby jednego czy dwóch toi-toi dla kibiców. Jakiś samochód z gastronomią też miałby wzięcie.
A tak poza tym? Poza tym, było fajnie. Samochody jeździły i wzbijały tumany kurzu. Kurzu było dużo. Bardzo dużo. W sobotę wieczorem nad Dobrą zawisła wielka chmura kurzu.
Hołek miał startować, ale zepsuł mu się samochód, więc z tej 'atrakcji' nici. No i czemu imprezę w Szczecinie organizuje Automobilklub Gorzowski?
Mam nadzieję, że Baja za rak też się odbędzie i organizatorzy naprawią chociaż część niedociągnięć.
-
Z haubicy w słońce
Szczecin, wrzesień 2009
-
Lampa
Dobra, sierpień 2009 -
Stargard, ponownie
Stargard Szczeciński, lipiec 2009
-
O Kazimierzu Dolnym słów kilka
Jak zapewne dało się zauważyć po ostatnich zdjęciach na blogu, w te wakacje odwiedziłem Kazimierz Dolny zwany także 'Kazimierzem Nad Wisłą'. Przed wyjazdem słyszałem kilka opinii na temat tego miasteczka, w większości sprowadzały się one do słów: przereklamowany.
Rzeczywiście, Kazimierz Dolny jest przereklamowany. Z punktu widzenia turysty: dwie, trzy godziny w Kazimierzu i widziało się wszystko, można wracać: pochyły rynek, kościół, klasztor, ruiny, krzyże, trochę kiczu i tyle. Nic specjalnego. Taki Szczecin, nie będący żadną atrakcją turystyczną ma dużo więcej do pokazania.
Kazimierzowi trzeba jednak przyznać: jest ładnie położony. Dolina Wisły, wzgórza lessowe, wąwozy, las. Kto lubi ładne widoki ten się nie zawiedzie.
O ile Kazimierz nie przypadł mi do gustu, to Janowiec, miejscowość położona po drugiej stronie rzeki bardzo mi się spodobała. Przede wszystkim, nie ma tylu turystów, handlarzy, kiczu. Zabytków też mniej, ale nie o ilość tutaj chodzi. Jest za to zamek w Janowcu. Ruiny, ale odnawiane, restaurowane, zadbane. Jest dworek, park, spichlerz. I nikt nie wciska tandetnych kogucików z chleba i krówek po 15zł za pudełko...
-
Janowiec
Janowiec, sierpień 2009










