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.
Unterschiede beim Lesen eines Elements mithilfe seines Primärschlüssels
Ein gängiges Zugriffsmuster für Datenbanken besteht darin, ein einzelnes Element aus einer Tabelle zu lesen. Sie müssen den Primärschlüssel des gewünschten Elements angeben.
Lesen eines Elements unter Verwendung seines Primärschlüssels mit SQL
In würden Sie die SELECT
Anweisung verwendenSQL, um Daten aus einer Tabelle abzurufen. Sie können eine oder mehrere Spalten im Ergebnis abfragen (oder alle Spalten, wenn Sie den *
-Operator verwenden). Die WHERE
-Klausel bestimmt, welche Zeilen zurückgegeben werden.
Das folgende Beispiel umfasst eine SELECT
-Anweisung zum Abrufen einer einzelnen Zeile aus der Tabelle Music. Die WHERE
-Klausel gibt die Primärschlüsselwerte an.
SELECT *
FROM Music
WHERE Artist='No One You Know' AND SongTitle = 'Call Me Today'
Sie können diese Abfrage ändern und nur eine Teilmenge der Spalten abrufen.
SELECT AlbumTitle, Year, Price
FROM Music
WHERE Artist='No One You Know' AND SongTitle = 'Call Me Today'
Beachten Sie, dass der Primärschlüssel für diese Tabelle aus Artist und besteht SongTitle.
Lesen eines Elements mit dem zugehörigen Primärschlüssel in DynamoDB
In Amazon DynamoDB können Sie entweder DynamoDB API oder PartiQL (eine SQL -kompatible Abfragesprache) verwenden, um ein Element aus einer Tabelle zu lesen.
- DynamoDB API
-
Mit der DynamoDB verwenden Sie die PutItem
OperationAPI, um einer Tabelle ein Element hinzuzufügen.
DynamoDB stellt die Aktion GetItem
zum Abrufen eines Elements über dessen Primärschlüssel bereit. GetItem
ist äußerst effizient, da die Aktion direkten Zugriff auf den physischen Speicherort des Elements ermöglicht. (Weitere Informationen finden Sie unter Partitionen und Datenverteilung in DynamoDB.)
Standardmäßig gibt GetItem
das gesamte Element mit allen zugehörigen Attributen zurück.
{
TableName: "Music",
Key: {
"Artist": "No One You Know",
"SongTitle": "Call Me Today"
}
}
Sie können einen ProjectionExpression
-Parameter hinzufügen, um nur einige der Attribute zurückzugeben.
{
TableName: "Music",
Key: {
"Artist": "No One You Know",
"SongTitle": "Call Me Today"
},
"ProjectionExpression": "AlbumTitle, Year, Price"
}
Beachten Sie, dass der Primärschlüssel für diese Tabelle aus Artist und besteht. SongTitle
Die GetItem
-DynamoDB-Aktion ist sehr effizient. Sie bestimmt anhand der Primärschlüsselwerte den genauen Speicherort des entsprechenden Elements und ruft es direkt von dort ab. Die SQL SELECT
Anweisung ist ähnlich effizient, wenn Elemente anhand von Primärschlüsselwerten abgerufen werden.
Die SQL SELECT
Anweisung unterstützt viele Arten von Abfragen und Tabellenscans. DynamoDB bietet eine ähnliche Funktionalität mit den Aktionen Query
und Scan
, die in Unterschiede bei der Abfrage einer Tabelle und Unterschiede beim Scannen einer Tabelle beschrieben sind.
Die SQL SELECT
Anweisung kann Tabellenverknüpfungen durchführen, sodass Sie Daten aus mehreren Tabellen gleichzeitig abrufen können. Joins sind am effektivsten, wenn die Datenbanktabellen normalisiert und die Beziehungen zwischen den Tabellen eindeutig sind. Wenn Sie allerdings zu viele Tabellen in einer SELECT
-Anweisung verknüpfen, kann sich dies negativ auf die Anwendungsleistung auswirken. Sie können diese Probleme umgehen, indem Sie Datenbankreplikation, materialisierte Ansichten oder Abfrageumschreibungen verwenden.
DynamoDB ist eine nicht zusammenhängende Datenbank und unterstützt keine Tabellen-Joins. Wenn Sie eine vorhandene Anwendung von einer relationalen Datenbank nach DynamoDB migrieren, müssen Sie Ihr Datenmodell denormalisieren, damit keine Joins erforderlich sind.
- PartiQL for DynamoDB
-
Mit PartiQL verwenden Sie die ExecuteStatement
-Operation zum Lesen eines Elements aus einer Tabelle mit PartiQL Select
-Anweisung.
SELECT AlbumTitle, Year, Price
FROM Music
WHERE Artist='No One You Know' AND SongTitle = 'Call Me Today'
Beachten Sie, dass der Primärschlüssel für diese Tabelle aus Artist und besteht SongTitle.
Die select PartiQL-Anweisung kann auch verwendet werden, um eine DynamoDB-Tabelle abzufragen oder zu scannen
Codebeispiele, die Select
und ExecuteStatement
verwenden, finden Sie unter PartiQL-Select-Anweisungen für DynamoDB.