DynamoDB Ukuran Tabel dan Jumlah Item
Tidak ada SELECT COUNT(*) yang bisa Anda tunjuk dengan murah ke tabel DynamoDB.
DynamoDB memberi Anda dua jawaban yang sangat berbeda untuk "seberapa besar tabel ini?": a
perkiraan gratis yang bisa memakan waktu hingga enam jam, dan hitungan pastinya
yang memerlukan pembacaan tabel secara menyeluruh. Kebanyakan "kenapa hitungan item saya salah?"
kebingungan adalah memilih satu sambil mengharapkan perilaku yang lain.
Bagaimana cara mendapatkan jumlah item dan ukuran tabel DynamoDB?
Hubungi DescribeTable: ini mengembalikan ItemCount dan TableSizeBytes gratis, tapi
"DynamoDB memperbarui nilai ini kira-kira setiap enam jam. Perubahan terkini
mungkin tidak tercermin dalam nilai ini"
(Referensi AWS API).
Untuk angka tepat, jalankan Scan dengan --select COUNT — ini hanya mengembalikan
menghitung, tetapi membaca (dan menagih) setiap item. GUI seperti
DynoTable menunjukkan perkiraan pada setiap tabel dan dapat menghitung
jumlah pasti berdasarkan permintaan.
| Anda ingin | Gunakan | Biaya | Kesegaran |
|---|---|---|---|
| Jumlah rata-rata + ukuran, gratis | DescribeTable | tidak ada (panggilan metadata) | ~6 jam basi |
| Jumlah total yang tepat | Scan dengan Select COUNT | membaca seluruh tabel | hidup |
| Hitungan tepat untuk satu kunci | Query dengan Select COUNT | membaca item yang cocok | hidup |
| Jumlah subset yang difilter | Scan/Query + filter + JUMLAH | membaca semuanya scan | hidup |
Metode 1: DescriptionTable (gratis, ~6 jam basi)
DescribeTable adalah pencarian metadata — tidak membaca item apa pun, sehingga tidak menggunakan apa pun
kapasitas baca, dan itu membawa dua nomor yang Anda cari:
aws dynamodb describe-table --table-name Orders \
--query 'Table.[ItemCount, TableSizeBytes]'Keduanya datang dengan peringatan yang sama, kata demi kata dari
Referensi API:
"DynamoDB memperbarui nilai ini kira-kira setiap enam jam. Perubahan terkini
mungkin tidak tercermin dalam nilai ini." Jadi tabel yang baru saja Anda muat secara massal bisa
laporkan ItemCount: 0 selama berjam-jam — nomornya tidak salah, ini cuplikan.
Respons yang sama juga membawa angka per indeks: setiap GSI dan LSI
melaporkan ItemCount dan IndexSizeBytes miliknya sendiri dengan irama enam jam yang sama.
Membandingkan jumlah item dengan tabel adalah a
pemeriksaan kesehatan gratis yang bagus — ini memberi tahu Anda berapa banyak item yang benar-benar membawa indeks
kunci.
Metode 2: penghitungan persis dengan Pindai + Pilih JUMLAH
Ketika "kira-kira, mulai pagi ini" tidak cukup baik, hitunglah dengan sungguh-sungguh:
aws dynamodb scan --table-name Orders --select COUNTFakta yang perlu diketahui sebelum Anda menjalankannya, semuanya dari Pindai referensi API:
COUNT"mengembalikan jumlah item yang cocok, bukan yang cocok item itu sendiri" — lebih sedikit lalu lintas jaringan, tetapi "ini menggunakan hal yang sama kuantitas unit kapasitas baca sebagai mendapatkan item". Hitungan pasti dari a Tabel 100 GB adalah pembacaan 100 GB pada tagihan Anda.- Satu permintaan masih berhenti pada 1 MB data yang dipindai; tanggapannya
Count"hanya mengembalikan jumlah item khusus untuk satu pemindaian permintaan". CLI mengikutiLastEvaluatedKeydan menjumlahkan halaman untuk Anda; di Kode SDK yang Anda ulangi dan tambahkan — lihat pagination. - Di atas tabel besar, pisahkan pekerjaan dengan a
pemindaian paralel (
--segment/--total-segments) dan jumlahkan jumlah per segmen.
Menghitung subset
- Item dalam satu kunci partisi:
Querydengan--select COUNT— berbunyi hanya item kuncinya saja, jadi murah karena datanya kecil. Ini adalah cara yang benar untuk menghitung . - Item yang cocok dengan filter: tambahkan
FilterExpression— tapi ingat jumlah yang ditagihkan kepada Anda adalahScannedCount, bukanCount: filter DynamoDB setelah membaca, jadi "hitung pesanan yang diarsipkan" melalui pemindaian yang difilter akan membuahkan hasil setiap pesanan.ScannedCounttinggi di sampingCountkecil adalah ciri khasnya dari filter yang ingin menjadi GSI — lihat strategi pemfilteran.
Untuk pertanyaan yang lebih kaya — jumlah per status, jumlah, rata-rata — DynamoDB tidak memilikinya
GROUP BY sama sekali; solusinya ada
hitungan, jumlah & agregat. (Atau lewati
solusi: Workbench SQL DynoTable berjalan
GROUP BY dan mengagregasi sisi klien.)
Ukuran tabel dan jumlah item di DynoTable
DynoTable menempatkan kedua jawaban di tempat yang Anda cari. Setiap tabel terbuka memiliki tombol Pengaturan di bilah alat tab; dialog yang dibukanya menunjukkan:
- Kunci utama dan indeks sekunder — sekilas bentuk tabel.
- Item · Ukuran · Rata-rata item — perkiraan
DescribeTablemilik DynamoDB sendiri, diberi label sebagai perkiraan, dengan peringatan enam jam akan berlalu. - Tabel indeks — di bagian Pengindeksan, pemindaian pengambilan sampel sekali klik yang mencatat atributnya
ditemukan (termasuk jalur bersarang seperti
commonData.status), dengan kemajuan langsung. Pemindaian dibatasi, sehingga atribut langka mungkin hilang; batasnya aktif Ikhtisar tabel dan pengindeksan. Ini memberi kekuatan pada bidang pelengkapan otomatis dan kesimpulan Ekspor Skema TypeScript / Zod / JSON, dan dikenakan biaya baca DynamoDB normal — aplikasi menyatakan demikian di muka.

Dan untuk angka pastinya, agen AI bawaan menghitung jumlah, jumlah, dan pengelompokan per grup pada keseluruhan tabel di permintaan — ia membaca setiap item yang cocok daripada mengambil sampel halaman, dan itu bertanya sebelum menjalankan apa pun yang memerlukan kapasitas baca.
FAQ
Mengapa penghitungan item DynamoDB saya salah?
ItemCount (dan TableSizeBytes) menyegarkan "kira-kira setiap enam jam", jadi
penulisan dan penghapusan terbaru belum tercermin. Ikhtisar tabel konsol
menunjukkan angka DescribeTable yang sama, dengan lag yang sama.
Bagaimana tepatnya cara menghitung baris di DynamoDB?
aws dynamodb scan --table-name X --select COUNT — halaman CLI melalui
seluruh tabel dan menjumlahkan jumlah per halaman. Itu persis tetapi tagihannya sama
kapasitas untuk mengambil setiap item.
Apakah DescriptionTable gratis? Itu tidak menghabiskan kapasitas baca — jadi ini adalah panggilan metadata, bukan pembacaan data polling itu tidak akan menyentuh throughput tabel Anda.Bagaimana cara mengetahui ukuran satu item? DynamoDB meter berdasarkan ukuran item (dibulatkan ke atas per 1 KB tulisan / 4 KB baca). Tempelkan item ke dalam kalkulator ukuran item untuk melihat tagihannya ukuran, dan lihat batas item 400 KB untuk langit-langit.
Apakah jumlah item mempengaruhi tagihan saya?
Penyimpanan ditagih berdasarkan TableSizeBytes, dan permintaan berdasarkan ukuran item × permintaan
hitungan — bukan berdasarkan jumlah item secara langsung. Masukkan nomor tabel Anda ke dalam
kalkulator harga untuk melihat bulanan
gambaran di seluruh mode sesuai permintaan dan yang disediakan.
Ingin bentuk tabel, perkiraan, dan bidang yang diindeks hanya dengan sekali klik? Unduh DynoTable dan buka panel Statistik di tabel mana pun.


