Willkommen zurück bei Advanced SQL. In dieser Lektion werden wir Indizes diskutieren. Wir werden zunächst den Zweck eines Index betrachten. Als nächstes betrachten wir zwei Haupttypen von Architekturen. Und schließlich werden wir sehen, wie Indizes ins Spiel kommen in unserer Suchanfrage. Lassen Sie uns nun über unser Kochbuchbeispiel nachdenken. Wenn wir es Seite für Seite durchsuchen müssten Wir würden das sequentielle Suchen nennen. Sie können sehen, wie ineffizient das wäre. Hier kommen die Indizes ins Spiel. Indizes sind jedoch mehr als nur die automatisierten zu Ihrem Primärschlüssel. Es gibt verschiedene Indizes verwendet mit verschiedenen Arten von Architektur und Indizierungsmethoden. Es gibt zwei Haupttypen von Architektur, die beachtet werden müssen. Clustered und Non-Clustered. Betrachten Sie den Index am Ende Ihres Kochbuchs. Es sind gruppierte Zutaten in alphabetischer Reihenfolge. Das Kochbuch selbst ist wahrscheinlich um Mahlzeitentypen gruppiert wie Salate, Hauptgericht, Desserts. Im Fall einer Datenbank ein Clustered-Index ist ein Index, der die Daten physisch ordnet auf die Festplatte in einer bestimmten Weise. Jedes Mal, wenn neue Daten hinzugefügt werden, werden diese in derselben Reihenfolge gespeichert. Das sollten Sie beim Clustered-Index beachten ist, dass nur eine auf eine Datenbanktabelle angewendet werden kann. Sie sehen, sie erzwingen eine Datenreihenfolge. Dadurch wird die richtige Zeit erhöht weil jedes Mal neue Daten hinzugefügt werden es muss alles neu geordnet werden. Der Clustered-Index steigt jedoch stark an die Lesegeschwindigkeit der Tabelle. Wenn wir sagten, dass es zwei Typen gibt und einer gruppiert ist, dann muss der andere nicht geclustert sein. Diese Arten von Indizes werden am häufigsten verwendet aber nicht jeder weiß, wie sie implementiert sind. Nicht gruppierte Indizes führen eine separate Bestellliste das hat Zeiger auf die physischen Zeilen. Es ist im Grunde wie das Inhaltsverzeichnis für ein Buch. Es weiß, auf welcher Seite ein bestimmtes Kapitel beginnt und endet. Eine Tabelle kann viele nicht gruppierte Indizes enthalten Aber jeder fügt Zeit hinzu, wie lange es dauert die Daten schreiben. Nachdem wir die Indexstruktur verstanden haben Schauen wir uns an, wie es in PostgreSQL funktioniert. Wir können Indizes in PostgreSQL manipulieren über eine Reihe von Befehlen. PostgreSQL erstellt einen Abfrageplan für jede Anfrage, die es empfängt. Sie sollten immer den Plan auswählen, der am besten passt auf die Abfragestruktur und die Eigenschaften der Daten. Wir können einen Abfrageplan mit einem einfachen Befehl erstellen, erklären. Dies zeigt uns alle relevanten Informationen. Werfen wir einen Blick auf den zurückgegebenen Abfrageplan Alle Titel in unserer Sammlung. In den Klammern sehen wir einige Werte. Die Kosten einer Abfrage sind eine Reihe beliebiger Einheiten. Ausgehend von der erwarteten Phase kann die Ausgangsphase beginnen zu den geschätzten Gesamtkosten dieser Abfrage.