Kiedy użyć tego promptu
Gdy strona, raport albo panel administracyjny ładuje się kilka sekund, a winowajcą jest jedno zapytanie do bazy. Często wystarcza jeden dobrze dobrany indeks albo przepisanie warunku, ale trzeba wiedzieć, gdzie szukać. Plan wykonania (EXPLAIN) mówi to wprost – model pomaga go odczytać.
Przykład
Przykładowe dane do uzupełnienia:
- BAZA DANYCH: MySQL 8.0 (sklep na WooCommerce)
- CZAS I ROZMIAR: raport sprzedaży ładuje się ok. 12 sekund; tabela wp_postmeta ma kilka milionów wierszy
Czego się spodziewać: Model wskaże np., że warunek na wartości meta przy pełnym skanowaniu tabeli z milionami wierszy wymusza przeglądanie całej tabeli, zaproponuje indeks złożony na odpowiednich kolumnach z poleceniem CREATE INDEX, ostrzeże przed wpływem na zapis i podpowie, że w EXPLAIN typ dostępu powinien zmienić się z ALL na ref.
Jak dopasować prompt do siebie
- Brak dostępu do EXPLAIN (np. hosting współdzielony): poproś o analizę na podstawie samego zapytania i struktury – będzie mniej pewna, ale nadal pomocna.
- Zapytanie generowane przez ORM lub wtyczkę: wklej kod, który je tworzy, i poproś o zmianę po stronie aplikacji.
- PostgreSQL: poproś o interpretację EXPLAIN ANALYZE z czasami poszczególnych kroków.
Wskazówki
- Testuj zmiany na kopii bazy, nie na produkcji – dodanie indeksu do dużej tabeli może ją na chwilę zablokować.
- Mierz przed i po na tych samych danych; pojedynczy pomiar bywa mylący przez cache.
- Usuń dane osobowe z przykładowych danych, jeśli wklejasz wyniki zapytań.
Najczęstsze błędy
- Dodawanie indeksów na wszystkie kolumny „na zapas” – spowalnia zapis i zajmuje miejsce.
- Optymalizacja zapytania, które wykonuje się raz dziennie w nocy, zamiast tego, które spowalnia każdą stronę.
Co dalej – dopytaj model
Gdy dostaniesz odpowiedź, możesz pójść krok dalej tym poleceniem:
Przygotuj plan wdrożenia tych zmian na produkcji: kolejność, czas wykonania, jak sprawdzić, że nic się nie zepsuło, i jak wycofać zmianę.