Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Primärschlüssel in Aurora DSQL
In Aurora DSQL ist ein Primärschlüssel eine Funktion, die Tabellendaten physisch organisiert. Es ähnelt der CLUSTER
Operation in PostgreSQL oder einem geclusterten Index in anderen Datenbanken. Wenn Sie einen Primärschlüssel definieren, erstellt Aurora DSQL einen Index, der alle Spalten in der Tabelle enthält. Die Primärschlüsselstruktur in Aurora DSQL gewährleistet einen effizienten Datenzugriff und eine effiziente Verwaltung.
Datenstruktur und Speicherung
Wenn Sie einen Primärschlüssel definieren, speichert Aurora DSQL Tabellendaten in der Reihenfolge der Primärschlüssel. Diese indexorganisierte Struktur ermöglicht eine Primärschlüsselsuche, bei der alle Spaltenwerte direkt abgerufen werden können, anstatt wie bei einem herkömmlichen B-Tree-Index einem Zeiger auf die Daten zu folgen. Im Gegensatz zur CLUSTER
Operation in PostgreSQL, bei der Daten nur einmal reorganisiert werden, behält Aurora DSQL diese Reihenfolge automatisch und kontinuierlich bei. Dieser Ansatz verbessert die Leistung von Abfragen, die auf Primärschlüsselzugriff angewiesen sind.
Aurora DSQL verwendet den Primärschlüssel auch, um einen clusterweiten eindeutigen Schlüssel für jede Zeile in Tabellen und Indizes zu generieren. Dieser eindeutige Schlüssel unterstützt auch die verteilte Datenverwaltung. Er ermöglicht die automatische Partitionierung von Daten über mehrere Knoten hinweg und unterstützt skalierbaren Speicher und hohe Parallelität. Infolgedessen hilft die Primärschlüsselstruktur Aurora DSQL dabei, automatisch zu skalieren und gleichzeitige Workloads effizient zu verwalten.
Richtlinien für die Auswahl eines Primärschlüssels
Beachten Sie bei der Auswahl und Verwendung eines Primärschlüssels in Aurora DSQL die folgenden Richtlinien:
-
Definieren Sie einen Primärschlüssel, wenn Sie eine Tabelle erstellen. Sie können diesen Schlüssel später nicht ändern oder einen neuen Primärschlüssel hinzufügen. Der Primärschlüssel wird Teil des clusterweiten Schlüssels, der für die Datenpartitionierung und die automatische Skalierung des Schreibdurchsatzes verwendet wird. Wenn Sie keinen Primärschlüssel angeben, weist Aurora DSQL eine synthetische versteckte ID zu.
-
Vermeiden Sie bei Tabellen mit hohem Schreibvolumen die Verwendung monoton steigender Ganzzahlen als Primärschlüssel. Dies kann zu Leistungseinbußen führen, wenn alle neuen Einfügungen auf eine einzige Partition geleitet werden. Verwenden Sie stattdessen Primärschlüssel mit zufälliger Verteilung, um eine gleichmäßige Verteilung der Schreibvorgänge auf die Speicherpartitionen sicherzustellen.
-
Für Tabellen, die sich selten ändern oder schreibgeschützt sind, können Sie einen aufsteigenden Schlüssel verwenden. Beispiele für aufsteigende Schlüssel sind Zeitstempel oder Sequenznummern. Ein dichter Schlüssel hat viele eng beieinander liegende oder doppelte Werte. Sie können einen aufsteigenden Schlüssel verwenden, auch wenn er dicht ist, da die Schreibleistung weniger wichtig ist.
-
Wenn ein vollständiger Tabellenscan Ihre Leistungsanforderungen nicht erfüllt, wählen Sie eine effizientere Zugriffsmethode. In den meisten Fällen bedeutet dies, dass Sie einen Primärschlüssel verwenden, der Ihrem häufigsten Join- und Lookup-Schlüssel in Abfragen entspricht.
-
Die maximale kombinierte Größe von Spalten in einem Primärschlüssel beträgt 1 Kibibyte. Weitere Informationen finden Sie unter Datenbanklimits in Aurora DSQL und Unterstützte Datentypen in Aurora DSQL.
-
Sie können bis zu 8 Spalten in einen Primärschlüssel oder einen Sekundärindex aufnehmen. Weitere Informationen finden Sie unter Datenbanklimits in Aurora DSQL und Unterstützte Datentypen in Aurora DSQL.