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.
In SQL gibt eine SELECT
-Anweisung ohne WHERE
-Klausel alle Zeilen einer Tabelle zurück. In Amazon DynamoDB übernimmt die Scan
-Operation diese Funktion. In beiden Fällen können Sie alle oder nur einige Elemente abrufen.
Unabhängig davon, ob Sie eine SQL- oder eine NoSQL-Datenbank verwenden, sollten Scans jedoch sparsam eingesetzt werden, da sie große Mengen an Systemressourcen belegen können. Manchmal ist ein Scan angebracht (z. B. Scannen einer kleinen Tabelle) oder unvermeidbar (wie die Ausführung eines Massenexports von Daten). Als allgemeine Regel sollten Sie Ihre Anwendungen so konzipieren, dass Scans vermieden werden. Weitere Informationen finden Sie unter Abfragen von Tabellen in DynamoDB.
Anmerkung
Bei einem Massenexport wird außerdem mindestens 1 Datei pro Partition erstellt. Alle Elemente in jeder Datei stammen aus dem Hash-Keyspace der betreffenden Partition.
Scannen einer Tabelle mit SQL
Bei Verwendung von SQL können Sie eine Tabelle scannen und alle Daten mit einer SELECT
-Anweisung ohne Angabe einer WHERE
-Bedingung abrufen. Sie können eine oder mehrere Spalten im Ergebnis abfragen. Sie können auch alle Spalten abfragen, wenn Sie das Platzhalterzeichen (*) verwenden.
Es folgen Beispiele für eine SELECT
-Anweisung.
/* Return all of the data in the table */ SELECT * FROM Music;
/* Return all of the values for Artist and Title */ SELECT Artist, Title FROM Music;
Scannen einer Tabelle in DynamoDB
In Amazon DynamoDB können Sie entweder die DynamoDB-API oder PartiQL, eine SQL-kompatible Abfragesprache, verwenden, um einen Scan für eine Tabelle durchzuführen.
Mit der DynamoDB-API verwenden Sie die Scan
-Operation, um ein oder mehrere Elemente und Elementattribute zurückzugeben, indem Sie auf jedes Element in einer Tabelle oder einem sekundären Index zugreifen.
// Return all of the data in the table { TableName: "Music" }
// Return all of the values for Artist and Title { TableName: "Music", ProjectionExpression: "Artist, Title" }
Die Scan
-Aktion bietet auch einen Parameter FilterExpression
, der es ermöglicht, Elemente zu verwerfen, die nicht in den Ergebnissen enthalten sein sollen. FilterExpression
wird angewendet, nachdem der Scan durchgeführt wurde, aber bevor die Ergebnisse an Sie zurückgegeben werden. (Für große Tabellen wird dies nicht empfohlen: Sie werden für den gesamten Scan
belastet, auch wenn nur einige übereinstimmende Elemente zurückgegeben werden.)