Differenze nella scansione di una tabella - Amazon DynamoDB

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Differenze nella scansione di una tabella

InSQL, un'SELECTistruzione senza WHERE clausola restituirà ogni riga di una tabella. In Amazon DynamoDB, l'operazione Scan fa la stessa cosa. In entrambi i casi, puoi recuperare tutti gli elementi o solo alcuni di essi.

Indipendentemente dal fatto che si utilizzi un SQL SQL database No, le scansioni devono essere utilizzate con parsimonia perché possono consumare grandi quantità di risorse di sistema. A volte una scansione è appropriata (come la scansione di una piccola tabella) o inevitabile (come ad esempio un'esportazione di massa di dati). Tuttavia, come regola generale, devi progettare le applicazioni in modo da evitare di eseguire le scansioni. Per ulteriori informazioni, consulta Interrogazione di tabelle in DynamoDB.

Nota

L'esecuzione di un'esportazione in blocco crea anche almeno 1 file per partizione. Tutti gli elementi di ogni file provengono dal keyspace con hash di quella particolare partizione.

Scansione di una tabella con SQL

Quando si utilizza, SQL è possibile scansionare una tabella e recuperarne tutti i dati utilizzando un'SELECTistruzione senza specificare una clausola. WHERE Puoi richiedere una o più colonne nel risultato. In alternativa, puoi richiedere tutte le colonne se usi il carattere jolly (*).

Di seguito vengono illustrati alcuni esempi di utilizzo dell'istruzione SELECT.

/* 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;

Scansione di una tabella in DynamoDB

In Amazon DynamoDB, puoi utilizzare API DynamoDB o PartiQL SQL (un linguaggio di query compatibile) per eseguire una scansione su una tabella.

DynamoDB API

Con API DynamoDB, si utilizza Scan l'operazione per restituire uno o più elementi e attributi degli elementi accedendo a ogni elemento di una tabella o di un indice secondario.

// Return all of the data in the table { TableName: "Music" }
// Return all of the values for Artist and Title { TableName: "Music", ProjectionExpression: "Artist, Title" }

L'operazione Scan fornisce anche il parametro FilterExpression che puoi utilizzare per scartare gli elementi che non vuoi visualizzare nei risultati. Un FilterExpression viene applicato dopo la scansione dell'intera tabella, ma prima che i risultati ti vengano restituiti. ti viene comunque addebitato l'intero Scan, anche se vengono restituiti solo pochi item corrispondenti.

PartiQL for DynamoDB

Con PartiQL, esegui una scansione utilizzando l’operazione ExecuteStatement per restituire tutti i contenuti di una tabella utilizzando la dichiarazione Select.

SELECT AlbumTitle, Year, Price FROM Music

Si noti che questa istruzione restituirà tutti gli elementi per nella tabella Music.

Per esempi di codice che utilizzano Select e ExecuteStatement, consulta Istruzioni SELECT PartiQL per DynamoDB.