MySQL: nieoptymalne zapytania (Slow Query Log)

logo-mysqlWydajność, to w przypadku serwera www rzecz kluczowa. Pomimo wykorzystania dobrego sprzętu oraz dostosowania konfiguracji serwera do warunków w jakich będzie pracował, każdy serwer można zabić nieoptymalnymi zapytaniami.

Błąd w zapytaniu SQL popełnić można bardzo łatwo. Jedno nieoptymalne zapytanie może powodować spadek wydajności serwera, backlogi lub całkowitą odmowę działania. Optymalne zapytania są ważne szczególnie w przypadku tabel typu MyISAM. Powodem jest blokowanie na poziomie tabeli, a nie jak to jest w przypadku InnoDB – na poziomie wiersza.

Continue reading

Pobieranie id dodanego rekordu w MySQL, Oracle i PostgreSQL

Pola typu autoincrement, serial czy sekwencje w bazach danych bardzo dobrze spełniają swoją rolę.
Pomagają i ułatwiają życie programiście. Często zdarza się jednak tak, że potrzebujemy id właśnie wstawionego rekordu. Np. jako klucza obcego przy wstawianiu rekordu do innej tabeli.
Bazy danych
Opiszę metody na pobranie id w bazach MySQL, Oracle oraz PostrgeSQL, przykłady stworzę w PHP.

Continue reading

Warsztat: lokalny serwer www (Apache + PHP + MySQL)

WAMPDo tematu lokalnego serwera można podejść na kilka sposobów. Pierwszym i naturalnym jest samodzielne ściągnięcie paczek, instalacja i konfiguracja. O ile ten sposób ma swoje zalety, to ma także sporo wad. Głównym problemem może okazać się przebrnięcie przez pliki konfiguracyjne. Drugim rozwiązaniem jest użycie gotowego narzędzia, które wykona konfigurację za nas. Do niedawna byłem zwolennikiem pierwszego rozwiązania. Dziś polecam pakiet WampServer. Postaram się pokazać jego najważniejsze cechy.

Continue reading