Optymalizacja zapytań bazodanowych to jeden z kluczowych elementów wydajnej aplikacji webowej.
Używaj indeksów
Indeksy dramatically przyspieszają wyszukiwanie danych. Dodawaj je na kolumnach używanych w klauzulach WHERE, JOIN i ORDER BY.
ALTER TABLE posts ADD INDEX idx_status (status);
ALTER TABLE posts ADD INDEX idx_published (published_at);
Analizuj zapytania przez EXPLAIN
Polecenie EXPLAIN pokaże Ci jak MySQL wykonuje zapytanie i czy korzysta z indeksów.
EXPLAIN SELECT * FROM posts WHERE status = "published" ORDER BY published_at DESC;
Unikaj SELECT *
Zamiast pobierać wszystkie kolumny, wybieraj tylko te których potrzebujesz. Zmniejsza to transfer danych i zużycie pamięci.
Stosuj LIMIT
Zawsze ograniczaj liczbę zwracanych wierszy za pomocą LIMIT, szczególnie przy listingach i API.