Perbedaan dalam memindai tabel - Amazon DynamoDB

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Perbedaan dalam memindai tabel

DalamSQL, SELECT pernyataan tanpa WHERE klausa akan mengembalikan setiap baris dalam tabel. Di Amazon DynamoDB, operasi Scan melakukan hal yang sama. Dalam kedua kasus, Anda dapat mengambil semua item atau hanya beberapa item.

Apakah Anda menggunakan SQL database SQL atau Tidak, pemindaian harus digunakan dengan hemat karena mereka dapat mengkonsumsi sejumlah besar sumber daya sistem. Terkadang pemindaian layak digunakan (seperti memindai tabel kecil) atau tidak dapat dihindari (seperti melakukan ekspor data secara massal). Namun, sebagai aturan umum, Anda harus merancang aplikasi Anda agar tidak melakukan pemindaian. Untuk informasi selengkapnya, lihat Menanyakan tabel di DynamoDB.

catatan

Melakukan ekspor massal juga membuat setidaknya 1 file per partisi. Semua item di setiap file berasal dari keyspace hash partisi tertentu.

Memindai tabel dengan SQL

Saat menggunakan, SQL Anda dapat memindai tabel dan mengambil semua datanya dengan menggunakan SELECT pernyataan tanpa menentukan klausa. WHERE Anda dapat meminta satu kolom atau lebih dalam hasil. Atau, Anda dapat meminta semuanya jika Anda menggunakan karakter wildcard (*).

Berikut ini adalah contoh-contoh penggunaan pernyataan 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;

Memindai tabel di DynamoDB

Di Amazon DynamoDB, Anda dapat menggunakan API DynamoDB atau PartiQL SQL (bahasa kueri yang kompatibel) untuk melakukan pemindaian pada tabel.

DynamoDB API

Dengan API DynamoDB, Anda menggunakan Scan operasi untuk mengembalikan satu atau beberapa item dan atribut item dengan mengakses setiap item dalam tabel atau indeks sekunder.

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

Operasi Scan ini juga menyediakan parameter FilterExpression, yang dapat Anda gunakan untuk membuang item yang tidak ingin Anda tampilkan di hasil. Sebuah FilterExpression diterapkan setelah pemindaian dilakukan, namun sebelum hasilnya dikembalikan kepada Anda. (Ini tidak dianjurkan dengan tabel besar. Anda masih dikenakan biaya untuk seluruh Scan, bahkan jika hanya beberapa item yang cocok dikembalikan.)

PartiQL for DynamoDB

Dengan PartiQL, Anda melakukan pemindaian dengan menggunakan operasi ExecuteStatement untuk mengembalikan semua konten untuk tabel menggunakan pernyataan Select.

SELECT AlbumTitle, Year, Price FROM Music

Ingat bahwa pernyataan ini akan mengembalikan semua item untuk dalam tabel Music.

Untuk contoh kode menggunakan Select dan ExecuteStatement, lihat Pernyataan pemilihan PartiQL untuk DynamoDB.