KEY
og INDEX
er synonymer i MySQL. De betyder det samme. I databaser ville du bruge indekser
at forbedre hastigheden af datahentning. Et indeks oprettes typisk på kolonner, der bruges i JOIN
, WHERE
, og ORDER BY
klausuler.
Forestil dig, at du har en tabel kaldet users
og du vil søge efter alle de brugere, der har efternavnet 'Smith'. Uden et indeks ville databasen skulle gennemgå alle poster i tabellen:Det er langsomt, for jo flere poster du har i din database, jo mere arbejde skal den gøre for at finde resultatet. På den anden side vil et indeks hjælpe databasen med at springe hurtigt til de relevante sider, hvor 'Smith'-posterne opbevares. Dette minder meget om, hvordan vi mennesker går gennem en telefonbogskatalog for at finde nogen ved efternavnet:Vi begynder ikke at søge gennem telefonbogen fra ende til anden, så længe vi har indsat oplysningerne i en eller anden rækkefølge, som vi kan brug for at springe hurtigt til 'S'-siderne.
Primære nøgler og unikke nøgler ligner hinanden. En primær nøgle er en kolonne eller en kombination af kolonner, der unikt kan identificere en række. Det er et særligt tilfælde af unik nøgle . En tabel kan højst have én primær nøgle, men mere end én unik nøgle. Når du angiver en unik nøgle på en kolonne, kan to forskellige rækker i en tabel ikke have den samme værdi.
Bemærk også, at kolonner defineret som primære nøgler eller unikke nøgler automatisk indekseres i MySQL.