KEY
i INDEX
są synonimami w MySQL. Mają na myśli to samo. W bazach danych użyjesz indeksów
aby poprawić szybkość pobierania danych. Indeks jest zwykle tworzony na kolumnach używanych w JOIN
, WHERE
i ORDER BY
klauzule.
Wyobraź sobie, że masz tabelę o nazwie users
i chcesz wyszukać wszystkich użytkowników o nazwisku „Kowalski”. Bez indeksu baza danych musiałaby przejść przez wszystkie rekordy tabeli:jest to powolne, ponieważ im więcej rekordów masz w bazie danych, tym więcej pracy musi wykonać, aby znaleźć wynik. Z drugiej strony, indeks pomoże bazie danych szybko przeskoczyć do odpowiednich stron, na których przechowywane są rekordy „Smith”. Jest to bardzo podobne do tego, jak my, ludzie, przeglądamy książkę telefoniczną, aby znaleźć kogoś po nazwisku:nie zaczynamy przeszukiwać książki od deski do deski, o ile wstawiamy informacje w takiej kolejności, w jakiej możemy służy do szybkiego przechodzenia do stron „S”.
Klucze podstawowe i klucze unikatowe są podobne. Klucz podstawowy to kolumna lub kombinacja kolumn, która może jednoznacznie identyfikować wiersz. Jest to szczególny przypadek unikalnego klucza . Tabela może mieć co najwyżej jeden klucz podstawowy, ale więcej niż jeden klucz unikalny. Gdy określisz unikalny klucz w kolumnie, żadne dwa różne wiersze w tabeli nie mogą mieć tej samej wartości.
Pamiętaj również, że kolumny zdefiniowane jako klucze podstawowe lub klucze unikatowe są automatycznie indeksowane w MySQL.