Filtros e padrões de consulta
Toda aba de tabela carrega um filtro: o estado de predicado que o DynoTable
transforma em uma requisição do DynamoDB. Entender como as peças se traduzem em
query ou scan é a maior parte do que torna o app rápido e a sua conta baixa.
Esta página cobre o modo de aba Visual. Para escrever consultas no estilo SQL diretamente, mude para o PartiQL; para joins e agregações, abra um Workbench.
A linha de filtro
O modo visual mostra uma única linha horizontal de pílulas:
[Index] [hashKey = value] [rangeKey op value] [+ filter] | [Clear] [Query/Scan]- Pílula de índice — o padrão de consulta pelo qual você lê.
- Pílulas de chave — a chave de partição (hash) e, quando presente, a chave de ordenação (range) desse padrão.
- Pílulas de filtro — condições adicionais fora das chaves (filtros de scan).
- O botão de ação mostra Query ou Scan dependendo do que você configurou, e vira Carregar mais assim que os resultados começam a ser transmitidos.
Defina um valor e o DynoTable executa automaticamente; limpar ou editar uma pílula roda de novo assim que o filtro voltar a ser válido.

Query patterns
Um padrão de consulta é o índice pelo qual você lê:
PRIMARY— a própria / da tabela.- Um ou nomeado — com seu próprio esquema de chaves.
O padrão escolhido decide em quais chaves você pode filtrar. Troque de padrão pela pílula de índice; as pílulas de chave se atualizam para a chave de partição e de ordenação daquele padrão.
Query vs scan
Esta é a distinção que importa para custo e velocidade:
- Defina um filtro de e o DynoTable emite uma direcionada — ele lê apenas a partição correspondente. Barata e rápida.
- Sem um filtro assim, ele recai em um , que lê a tabela (ou o índice) inteira, página por página. O botão de ação mostra Scan para deixar isso explícito.
Filtros de chave
A pílula de chave de partição recebe um valor; a ação vira Query no momento em que ela é definida. A pílula de chave de ordenação adiciona uma comparação por cima:
=,<,<=,>,>=— comparações ordenadas (numéricas e lexicográficas em strings).begins_with— correspondência de prefixo em strings ou binários.between— um intervalo inclusivo; a pílula ganha um segundo campo de valor.
Chaves do tipo string oferecem autocompletar a partir dos valores do índice local. Veja Estatísticas da tabela para saber como o índice é construído e o que ele cobre. Chaves sem sugestões úteis (UUIDs aleatórios, por exemplo) recaem em um campo de texto simples.
Filtros de scan
A pílula + filter adiciona uma condição fora das chaves — qualquer atributo, não só chaves. Cada filtro é uma coluna, um operador e um valor:
- Comparações:
=,≠,<,<=,>,>=,between. - Pertencimento:
in— corresponde a qualquer valor de uma lista (strings ou números). - String / binário:
begins_with,contains. - Existência:
exists,not exists. - Tipo:
type equals/type not equals(contra o código de tipo do DynamoDB —S,N,BOOL, …), além de uma famíliasizepara tipos de coleção.
Os operadores oferecidos se adaptam ao tipo do atributo — comparações de ordenação
aparecem para números, begins_with para strings. Os filtros de scan se aplicam
depois que a query ou o scan lê os itens, então eles restringem o resultado, mas
não tornam um scan mais barato. Use um filtro de chave para cortar a leitura; use
filtros de scan para refinar o que volta.
Single-table design: chaves compostas
Os single-table designs empacotam vários tipos de entidade em uma única tabela atrás
de um prefixo de chave — USER#123, ORDER#456, TENANT#acme. O DynoTable
reconhece isso por conta própria, sem nada para configurar:
- As chaves são decodificadas no lugar. Um valor composto — um prefixo em
maiúsculas unido ao resto por
#,|ou~— é renderizado como suas partes rotuladas em toda grade: a tabela, os resultados do PartiQL e o Workbench. Valores comuns que apenas contêm um desses caracteres (uma cor hex como#FF5733, uma lista separada por pipe) são deixados exatamente como estão. - Filtre para uma entidade com um clique. Clique com o botão direito em uma linha
e escolha Filter to
USER#— o prefixo é lido direto da chave daquela linha. O DynoTable aplica umbegins_withreal na chave como uma pílula de filtro comum, que você limpa do jeito de sempre (o ✕ dela ou Clear). Quando a chave de partição e a chave de ordenação de uma linha estão ambas prefixadas, você ganha uma opção para cada.
Não há diálogo, configuração nem nada salvo — é derivado ao vivo das chaves que estão na sua frente.

Ordenação e paginação
A pílula de chave de ordenação carrega um toggle de ordem de ordenação
(ascendente / descendente) que mapeia para o ScanIndexForward do DynamoDB. Os
resultados são transmitidos uma página por vez — Carregar mais busca a próxima
página, e mudar o tamanho da página recarrega a partir da
primeira página.
Run to end
Por padrão, uma query ou scan pausa após algumas páginas para que uma tabela grande não carregue tudo de uma vez — o botão de ação mostra Carregar mais para buscar a próxima página. Quando você prefere puxar tudo de uma só vez, mude o modo de execução:
- Clique no chevron ao lado do botão de ação e escolha Rodar até o fim. O botão primário muda para Escanear tudo / Consultar tudo / Rodar tudo — inclusive quando você está pausado no limite de páginas, onde clicar nele drena até o fim.
- Clique nesse botão renomeado e o DynoTable continua buscando páginas até que a tabela (ou o índice) inteira seja lida. A escolha é lembrada por aba durante a sessão; escolha Paginado para voltar. Escolher um modo nunca inicia uma execução sozinho — ele só renomeia o botão, então você decide quando disparar.
Em uma tabela grande, armar o Rodar até o fim primeiro mostra um prompt de confirmação com o tamanho aproximado e a contagem de itens da tabela, para que um scan completo seja sempre uma escolha deliberada, não um acidente. Confirme para prosseguir ou cancele para continuar paginado.

Pelo teclado:
- ⌘↩ roda a consulta atual — e quando os resultados estão pausados no limite de páginas, ele continua para a próxima página em vez de recomeçar.
- ⌘⇧↩ sempre roda até o fim de uma só vez.
- ⌘. ou Esc interrompe uma execução em andamento a qualquer momento.








