Dimensioni DynamoDB Table e conteggio Item
Non esiste un SELECT COUNT(*) che puoi puntare a buon mercato su una tabella DynamoDB.
DynamoDB ti dà due risposte molto diverse alla domanda "quanto è grande questo tabella?": a
stima gratuita che può essere obsoleta fino a sei ore e un conteggio esatto
questo costa una lettura completa della tabella. La maggior parte "perché il conteggio degli articoli è sbagliato?"
la confusione è sceglierne uno aspettandosi il comportamento dell'altro.
Come posso ottenere il numero di elementi e le dimensioni di una tabella DynamoDB?
Chiama DescribeTable: restituisce ItemCount e TableSizeBytes gratuitamente, ma
"DynamoDB aggiorna questo valore circa ogni sei ore. Modifiche recenti
potrebbe non riflettersi in questo valore"
(Riferimento AWS API).
Per un numero esatto, esegui Scan con --select COUNT: restituisce solo risultati
il conteggio, ma legge (e fattura) ogni articolo. Una GUI simile
DynoTable mostra le stime su ogni tabella e può calcolare
conteggi esatti su richiesta.
| Vuoi | Utilizzare | Costo | Freschezza |
|---|---|---|---|
| Conteggio ballpark + dimensione, gratuito | DescribeTable | nessuno (chiamata metadati) | ~6 ore stantio |
| Conteggio totale esatto | Scan con Select COUNT | legge tutta la tabella | vivere |
| Conteggio esatto per una chiave | Query con Select COUNT | legge gli elementi corrispondenti | vivere |
| Conteggio di un sottoinsieme filtrato | Scan/Query + filtro + COUNT | legge tutto scansionato | vivere |
Metodo 1: DescribeTable (gratuito, ~6 ore stantio)
DescribeTable è una ricerca di metadati: non legge elementi, quindi non consuma
capacità di lettura e porta i due numeri che stai cercando:
aws dynamodb describe-table --table-name Orders \
--query 'Table.[ItemCount, TableSizeBytes]'Entrambi arrivano con lo stesso avvertimento, testualmente dal
Riferimento API:
"DynamoDB aggiorna questo valore circa ogni sei ore. Modifiche recenti
potrebbe non riflettersi in questo valore." Quindi una tabella che hai appena caricato in blocco può
segnala ItemCount: 0 per ore: il numero non è sbagliato, è un'istantanea.
La stessa risposta riporta anche cifre per indice: ogni GSI e LSI
riporta i propri ItemCount e IndexSizeBytes sulla stessa cadenza di sei ore.
Confrontare il conteggio degli articoli di con quello della tabella è a
bel controllo sanitario gratuito: ti dice quanti elementi effettivamente portano l'indice
chiave.
Metodo 2: conteggio esatto con Scan + Seleziona COUNT
Quando "approssimativamente, da stamattina" non è abbastanza, conta davvero:
aws dynamodb scan --table-name Orders --select COUNTFatti da sapere prima di eseguirlo, tutti dal Riferimento Scan API:
COUNT"restituisce il numero di elementi corrispondenti, anziché la corrispondenza elementi stessi" — meno traffico di rete, ma "questo utilizza lo stesso quantità di unità di capacità di lettura per ottenere gli elementi". Un conteggio esatto di a La tabella da 100 GB corrisponde a 100 GB letti in fattura.- Una singola richiesta si ferma ancora a 1 MB di dati scansionati; la risposta è
Count"restituisce solo il conteggio degli elementi specifici di una singola scansione richiesta". La CLI segueLastEvaluatedKeye somma le pagine per te; dentro Codice SDK da ripetere e aggiungere: vedere impaginazione. - Su una tabella grande, dividere il lavoro con a
scansione parallela (
--segment/--total-segments) e sommare i conteggi per segmento.
Contare un sottoinsieme
- Item con una chiave di partizione:
Querycon--select COUNT— legge solo gli elementi di quella chiave, quindi è tanto economico quanto i dati sono piccoli. Questo è il modo giusto per contare un . - Item che corrispondono a un filtro: aggiungi un
FilterExpression, ma ricorda il il conteggio che ti verrà addebitato èScannedCount, nonCount: filtri DynamoDB dopo la lettura, quindi è conveniente "contare gli ordini archiviati" tramite una scansione filtrata ogni ordine. Un altoScannedCountaccanto ad un piccoloCountè la firma di un filtro che vuole essere un GSI — vedi strategie di filtraggio.
Per domande più dettagliate (conteggi per stato, somme, medie) DynamoDB non ha
GROUP BY affatto; le soluzioni alternative vivono
conteggio, somma e aggregazione. (Oppure salta il
soluzione alternativa: SQL Workbench di DynoTable funziona
GROUP BY e aggregati lato client.)
Dimensioni Table e numero di articoli in DynoTable
DynoTable inserisce entrambe le risposte dove stai già cercando. Ogni la tabella aperta ha un pulsante Statistiche (l'icona del grafico a barre) nella barra degli strumenti della scheda; il il pannello mostra:
- Chiave primaria e indici secondari: la forma della tabella a colpo d'occhio.
- Items · Dimensioni · Articolo medio: stime
DescribeTabledi DynamoDB, etichettati come stime, con l'avvertenza di sei ore che si allontana. - Tabella Indice: una scansione di campionamento con un clic che ne registra gli attributi
trova (inclusi percorsi nidificati come
commonData.status), con avanzamento in tempo reale. La scansione è limitata, pertanto è possibile che manchino attributi rari; i limiti sono attivi Panoramica e indicizzazione della tabella. Alimenta il campo completamento automatico e inferito Esportazione schema TypeScript/Zod/JSON, e comporta normali costi di lettura DynamoDB: l'app lo dice in anticipo.

E per i numeri esatti, l'agente AI integrato calcola conteggi, somme e suddivisioni per gruppo sull'intera tabella su request: legge ogni elemento corrispondente anziché campionare una pagina, e it chiede prima di eseguire qualsiasi cosa che costi la capacità di lettura.
FAQ
Perché il conteggio degli articoli del mio DynamoDB è sbagliato?
ItemCount (e TableSizeBytes) si aggiornano "circa ogni sei ore", quindi
le scritture e le eliminazioni recenti non vengono ancora riflesse. Panoramica della tabella della console
mostra gli stessi numeri DescribeTable, con lo stesso ritardo.
Come faccio a contare esattamente le righe in DynamoDB?
aws dynamodb scan --table-name X --select COUNT: la CLI scorre le pagine
l'intera tabella e somma i conteggi per pagina. È esatto ma fattura la stessa lettura
capacità di recuperare ogni articolo.
DescribeTable è gratuito? Non consuma capacità di lettura: è una chiamata di metadati, non una lettura di dati, quindi il polling non toccherà il throughput della tua tabella.Come faccio a trovare la taglia di un articolo? Misuratori DynamoDB in base alla dimensione dell'elemento (arrotondato per eccesso per 1 KB scritto/4 KB letti). Incolla un elemento nel file calcolatore delle dimensioni dell'articolo per visualizzarne la fatturazione dimensione e vedere il limite elementi di 400 KB per il file soffitto.
Il conteggio degli articoli influisce sulla mia fattura?
Lo spazio di archiviazione viene fatturato da TableSizeBytes e le richieste in base alla dimensione dell'articolo × richiesta
conteggio - non direttamente dal conteggio degli articoli. Inserisci i numeri della tua tabella nel
calcolatore dei prezzi per vedere il mensile
immagine nelle modalità on-demand e provisioning.
Vuoi che la forma della tabella, le stime e i campi indicizzati siano a portata di clic? Scarica DynoTable e apri il pannello Statistiche su qualsiasi tabella.


