Zum Hauptinhalt springen
Inoffizielle Beta-Übersetzung

Diese Seite wurde von PageTurner AI übersetzt (Beta). Nicht offiziell vom Projekt unterstützt. Fehler gefunden? Problem melden →

Indizes verwenden

Indizes sind Datenstrukturen, die der Datenbank ermöglichen, Zeilen zu finden, ohne die gesamte Tabelle scannen zu müssen. Ohne Index muss eine Abfrage jede Zeile untersuchen, um Übereinstimmungen zu finden. Mit einem Index kann die Datenbank direkt zu den relevanten Zeilen springen – was die Anzahl der untersuchten Zeilen drastisch reduziert.

Indizes beschleunigen Leseoperationen, fügen Schreibvorgängen (Einfügen, Aktualisieren, Löschen) jedoch Overhead hinzu, da der Index synchron gehalten werden muss. Daher solltest du sie sorgfältig und nur bei Bedarf erstellen.

Gute Kandidaten für Indizes sind Spalten, die häufig in WHERE-Klauseln, Joins und Sortierungen verwendet werden. Wenn mehrere Spalten als Filter verwendet werden, kann ein zusammengesetzter Index sinnvoll sein. Beachte jedoch, dass die Spaltenreihenfolge entscheidend ist – platziere die selektivsten Spalten (mit den meisten eindeutigen Werten) an erster Stelle.

Abfrageleistung analysieren

Die meisten Datenbanken ermöglichen dir zu prüfen, wie eine Abfrage ausgeführt wird – dies nennt man Ausführungsplan. Das Verständnis dieses Plans hilft dir, fehlende Indizes zu identifizieren und die Abfragekonstruktion zu optimieren, indem du verschiedene Methoden zum Abruf derselben Daten vergleichst.

CockroachDB

Use EXPLAIN ANALYZE (same syntax as PostgreSQL):

EXPLAIN ANALYZE SELECT * FROM "user" WHERE "firstName" = 'Timber';

Look for full scan (no index) vs scan with a specific index name.

Learn more

Indizes in TypeORM definieren

TypeORM unterstützt das Erstellen von Indizes auf Tabellenspalten mithilfe des @Index-Decorators.

import { Entity, PrimaryGeneratedColumn, Column, Index } from "typeorm"

@Entity()
export class User {
@PrimaryGeneratedColumn()
id: number

@Column()
@Index()
email: string

@Column()
firstName: string
}

Einen umfassenden Überblick über verschiedene Indextypen (eindeutig, räumlich, Volltext, nebenläufig etc.) findest du im Leitfaden Indizes.

Richtige Indizierung ist oft die größte Einzelverbesserung der Leistung, die du vornehmen kannst – beginne mit der Analyse deiner langsamsten Abfragen mithilfe der oben genannten Ausführungsplan-Tools und füge dann Indizes dort hinzu, wo sie am meisten bewirken.