Ich möchte meine 2 Cents hinzufügen. Ich bin weit davon entfernt, ein Datenbankexperte zu sein, aber ich habe mich in letzter Zeit ein wenig in dieses Thema eingelesen; genug für mich, um zu versuchen, eine ELI5 zu geben. Also, hier ist Mai Laien Erklärung.
Ich verstehe es so, dass ein Index wie ein Mini-Spiegel Ihrer Tabelle ist, ziemlich ähnlich wie ein assoziatives Array. Wenn Sie ihn mit einem passenden Schlüssel füttern, können Sie mit einem einzigen "Befehl" zu dieser Zeile springen.
Wenn Sie diesen Index bzw. dieses Array jedoch nicht haben, muss der Abfrage-Interpreter eine for-Schleife verwenden, um alle Zeilen zu durchlaufen und nach einer Übereinstimmung zu suchen (Full-Table-Scan).
Ein Index hat den Nachteil, dass zusätzlicher Speicherplatz (für den Mini-Spiegel) benötigt wird, und bietet im Gegenzug den Vorteil, dass Inhalte schneller gefunden werden.
Beachten Sie, dass (in Abhängigkeit von Ihrer DB-Engine) das Erstellen von Primär-, Fremd- oder eindeutigen Schlüsseln automatisch auch einen entsprechenden Index einrichtet. Das gleiche Prinzip ist der Grund, warum und wie diese Schlüssel funktionieren.