1. Wersje MySQL – kluczowe różnice
MySQL 5.6 (2013)
- wprowadzenie ulepszonego InnoDB jako domyślnego silnika,
- lepsza wydajność zapisu i replikacji,
- podstawowe wsparcie dla FULLTEXT w InnoDB.
MySQL 5.7 (2015)
- znaczące ulepszenie optymalizatora zapytań,
- JSON jako natywny typ danych,
- generowane kolumny (
GENERATED COLUMNS), - lepsze indeksowanie i walidacja danych.
MySQL 8.0 (2018 – obecnie standard)
- window functions (funkcje okna),
- CTE (Common Table Expressions) –
WITH, - lepsze zarządzanie indeksami (invisible indexes),
- pełne wsparcie dla UTF-8 (
utf8mb4jako standard), - role i zaawansowane zarządzanie użytkownikami,
- poprawiony silnik InnoDB (wydajność i concurrency).
2. Przykładowe funkcje MySQL (praktyczne użycie)
Funkcje agregujące
SELECT COUNT(*) FROM users;
SELECT AVG(price) FROM products;
SELECT SUM(amount) FROM orders;
Funkcje tekstowe
SELECT CONCAT(first_name, ' ', last_name) FROM users;
SELECT LOWER(email) FROM users;
SELECT LENGTH(password) FROM users;
Funkcje daty i czasu
SELECT NOW();
SELECT CURDATE();
SELECT DATE_ADD(NOW(), INTERVAL 7 DAY);
Funkcje warunkowe
SELECT IF(age > 18, 'Dorosły', 'Nieletni') FROM users;
SELECT CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 75 THEN 'B'
ELSE 'C'
END
FROM exams;
Funkcje okna (MySQL 8+)
SELECT
name,
salary,
RANK() OVER (ORDER BY salary DESC) as ranking
FROM employees;
3. Style pracy z MySQL (architektonicznie)
1. OLTP (Online Transaction Processing)
- systemy operacyjne (np. sklepy, CRM),
- dużo małych zapytań (INSERT, UPDATE),
- nacisk na spójność (ACID).
Cechy:
- normalizacja danych,
- indeksy pod szybkie wyszukiwanie,
- transakcje.
2. OLAP (Online Analytical Processing)
- analiza danych, raportowanie,
- duże zapytania agregujące.
Cechy:
- denormalizacja,
- hurtownie danych,
- zapytania typu:
SELECT region, SUM(sales)
FROM orders
GROUP BY region;
3. Podejście hybrydowe (nowoczesne aplikacje)
- połączenie OLTP + analityki,
- wykorzystanie:
- replikacji,
- read replicas,
- cache (np. Redis).
4. Styl minimalistyczny (startupowy / webowy)
- szybkie wdrożenie,
- mniej restrykcyjna struktura,
- nacisk na szybkość developmentu.
5. Styl enterprise
- pełna kontrola nad danymi,
- restrykcyjne schematy,
- backupy, audyty, HA (High Availability),
- monitoring (np. slow query log).
4. Dobre praktyki (esencja techniczna)
- używaj InnoDB (transakcje + bezpieczeństwo),
- indeksuj tylko to, co potrzebne,
- unikaj
SELECT *, - stosuj
EXPLAINdo analizy zapytań, - rób regularne backupy (
mysqldump/ snapshoty), - waliduj dane na poziomie aplikacji i bazy.
5. Krótka refleksja „ode mnie”
MySQL to nie tylko narzędzie — to system decyzji zapisanych w strukturze.
Wersje pokazują ewolucję technologii, ale styl pracy pokazuje człowieka, który z niej korzysta.
Możesz pisać zapytania poprawne… albo świadome.
Możesz tworzyć bazę… albo fundament.
A różnica między jednym a drugim wychodzi dopiero wtedy, gdy system zaczyna żyć.

No responses yet