Indeksy i transakcje
Kurs SQL · Wyjaśnienie, przykłady, oczekiwany wynik i ćwiczenie.
Indeksy przyspieszają wybrane wyszukiwania, a transakcje grupują operacje.
Jak to działa?
Indeks może przyspieszyć filtrację, ale zajmuje miejsce i zwiększa koszt zapisu. BEGIN i COMMIT pozwalają traktować zestaw zmian jako jedną jednostkę.
Składnia oraz zachowanie zależą od silnika bazy.
Przykład 1 — poznaj zapis
CREATE INDEX idx_users_city ON users (city);
BEGIN;
UPDATE users SET city = 'Lublin' WHERE id = 1;
COMMIT;
Przykład używa składni zgodnej m.in. z SQLite i PostgreSQL; w MySQL start transakcji to zwykle START TRANSACTION.
Przeczytaj kod linijka po linijce
CREATE INDEX idx_users_city ON users (city);Wykonujemy operację na strukturze bazy lub transakcji.BEGIN;Wykonujemy operację na strukturze bazy lub transakcji.UPDATE users SET city = 'Lublin' WHERE id = 1;Modyfikujemy albo usuwamy wybrane dane.
Tworzy indeks, a następnie zatwierdza zmianę miasta w transakcji.
Przykład 2 — podobny problem, inne dane
Teraz przyjrzyj się drugiemu przykładowi. Zwróć uwagę na to, co zmieniło się w kodzie, a co w wyniku. Spróbuj przewidzieć rezultat przed przeczytaniem odpowiedzi.
BEGIN; UPDATE users SET city = 'Lublin' WHERE id = 1; ROLLBACK;
Zmiana jest cofnięta.
Wróć do pierwszego przykładu, zmień jedną wartość i spróbuj samodzielnie przewidzieć wynik. Następnie uruchom kod i porównaj rezultat. W ten sposób nauczysz się nie tylko przepisywać instrukcje, ale rozumieć ich działanie.
Spróbuj samodzielnie
Sprawdź w dokumentacji swojej bazy jak cofnąć transakcję przez ROLLBACK.
Jeśli rozumiesz przykład, oznacz lekcję jako ukończoną i przejdź dalej.