Tamanho da tabela DynamoDB e contagem de itens
Não há SELECT COUNT(*) que você possa apontar barato para uma tabela DynamoDB.
O DynamoDB oferece duas respostas muito diferentes para "qual o tamanho desta tabela?": a
estimativa gratuita que pode durar até seis horas e uma contagem exata
isso custa uma leitura completa da tabela. A maioria "por que minha contagem de itens está errada?"
confusão é escolher um enquanto espera o comportamento do outro.
Como obtenho a contagem e o tamanho dos itens de uma tabela DynamoDB?
Ligue para DescribeTable: retorna ItemCount e TableSizeBytes gratuitamente, mas
"DynamoDB atualiza este valor aproximadamente a cada seis horas. Mudanças recentes
pode não estar refletido neste valor"
(Referência AWS API).
Para um número exato, execute um Scan com --select COUNT – ele retorna apenas
a contagem, mas lê (e fatura) cada item. Uma GUI como
DynoTable mostra as estimativas em cada tabela e pode calcular
contagens exatas on-demand.
| Você quer | Usar | Custo | Frescura |
|---|---|---|---|
| Contagem aproximada + tamanho, grátis | DescribeTable | nenhum (chamada de metadados) | ~6 h obsoleto |
| Contagem total exata | Scan com Select COUNT | lê a tabela inteira | ao vivo |
| Contagem exata para uma chave | Query com Select COUNT | lê os itens correspondentes | ao vivo |
| Contagem de um subconjunto filtrado | Scan/Query + filtro + CONTAGEM | lê tudo digitalizado | ao vivo |
Método 1: DescribeTable (gratuito, obsoleto em aproximadamente 6 horas)
DescribeTable é uma pesquisa de metadados – não lê itens, portanto não consome
capacidade de leitura e carrega os dois números que você procura:
aws dynamodb describe-table --table-name Orders \
--query 'Table.[ItemCount, TableSizeBytes]'Ambos vêm com a mesma advertência, literalmente do
Referência API:
"DynamoDB atualiza esse valor aproximadamente a cada seis horas. Mudanças recentes
pode não estar refletido neste valor." Então, uma tabela que você acabou de carregar em massa pode
reporte ItemCount: 0 por horas – o número não está errado, é um instantâneo.
A mesma resposta também traz valores por índice: cada GSI e LSI
relata seu próprio ItemCount e IndexSizeBytes na mesma cadência de seis horas.
Comparar a contagem de itens de um com a da tabela é uma
excelente exame de saúde gratuito - informa quantos itens realmente carregam o índice
chave.
Método 2: contagem exata com Scan + Select COUNT
Quando "aproximadamente a partir desta manhã" não for bom o suficiente, conte de verdade:
aws dynamodb scan --table-name Orders --select COUNTFatos que você deve saber antes de executá-lo, tudo desde o Referência de digitalização API:
COUNT"retorna o número de itens correspondentes, em vez dos itens correspondentes próprios itens" — menos tráfego de rede, mas "isso usa o mesmo quantidade de unidades de capacidade de leitura conforme obtenção dos itens". Uma contagem exata de um A tabela de 100 GB é uma leitura de 100 GB na sua conta.- Uma única solicitação ainda para em 1 MB de dados verificados; a resposta
Count"retorna apenas a contagem de itens específicos para uma única varredura solicitação". A CLI segue oLastEvaluatedKeye soma as páginas para você; em Código SDK que você faz loop e adiciona — consulte paginação. - Numa tabela grande, divida o trabalho com uma
varredura paralela (
--segment/--total-segments) e some as contagens por segmento.
Contando um subconjunto
- Itens sob uma chave de partição:
Querycom--select COUNT— lê apenas os itens dessa chave, por isso é tão barato quanto os dados são pequenos. Este é o maneira correta de contar um . - Itens que correspondem a um filtro: adicione um
FilterExpression— mas lembre-se do a contagem pela qual você é cobrado éScannedCount, nãoCount: filtros DynamoDB após a leitura, então "contar os pedidos arquivados" por meio de uma varredura filtrada compensa cada pedido. UmScannedCountalto próximo a umCountpequeno é a assinatura de um filtro que deseja ser um GSI - veja estratégias de filtragem.
Para perguntas mais ricas – contagens por status, somas, médias – o DynamoDB não tem
GROUP BY em absoluto; as soluções alternativas residem em
contagem, soma e agregação. (Ou pule o
solução alternativa: o SQL Workbench do DynoTable é executado
GROUP BY e agrega do lado do cliente.)
Tamanho da tabela e contagem de itens no DynoTable
DynoTable coloca ambas as respostas onde você já está procurando. Cada a tabela aberta possui um botão Estatísticas (o ícone do gráfico de barras) na barra de ferramentas da guia; o painel mostra:
- Chave primária e índices secundários — resumo do formato da tabela.
- Itens · Tamanho · Item médio - estimativas
DescribeTabledo próprio DynamoDB, rotulados como estimativas, com a advertência de seis horas à distância. - Tabela de índice — uma varredura de amostragem com um clique que registra os atributos
descobertas (incluindo caminhos aninhados como
commonData.status), com progresso ao vivo. A varredura é limitada, então atributos raros podem estar faltando; os limites estão ativados Visão geral e indexação da tabela. Ele alimenta o campo preenchimento automático e um inferido Exportação de esquema TypeScript / Zod / JSON, e incorre em custos normais de leitura do DynamoDB – o aplicativo diz isso antecipadamente.

E para os números exatos, o agente AI integrado calcula contagens, somas e detalhamentos por grupo em toda a tabela em solicitação - ele lê todos os itens correspondentes em vez de amostrar uma página, e pergunta antes de executar qualquer coisa que custe capacidade de leitura.
FAQ
Por que a contagem de itens do meu DynamoDB está errada?
ItemCount (e TableSizeBytes) são atualizados "aproximadamente a cada seis horas", então
escritas e exclusões recentes ainda não são refletidas. Visão geral da tabela do console
mostra os mesmos números DescribeTable, com o mesmo atraso.
Como posso contar exatamente as linhas no DynamoDB?
aws dynamodb scan --table-name X --select COUNT — a CLI percorre o
tabela inteira e soma as contagens por página. É exato, mas fatura a mesma leitura
capacidade como buscar todos os itens.
O DescribeTable é gratuito? Não consome capacidade de leitura — é uma chamada de metadados, não uma leitura de dados, portanto polling não afetará o rendimento da sua tabela.Como encontro o tamanho de um item? Medidores DynamoDB por tamanho do item (arredondado por 1 KB escrito / 4 KB lido). Cole um item no calculadora de tamanho do item para ver sua cobrança tamanho e consulte o limite de itens de 400 KB para o teto.
A contagem de itens afeta minha fatura?
O armazenamento é cobrado por TableSizeBytes e as solicitações por tamanho de item × solicitação
contagem — não por contagem de itens diretamente. Coloque os números da sua tabela no
calculadora de preços para ver o valor mensal
imagem nos modos on-demand e provisionados.
Quer a forma, as estimativas e os campos indexados da tabela a um clique de distância? Baixe DynoTable e abra o painel de estatísticas em qualquer tabela.


