SQL Workbench
O Workbench é uma aba de autoria de SQL que roda consultas reais de JOIN,
GROUP BY e agregação entre suas tabelas DynamoDB — as coisas que o
PartiQL não consegue fazer. É SQL dentro das regras de padrão
de acesso do DynamoDB: você escreve um único SELECT, um compilador verifica
que todo join lê através de uma chave ou índice real, materializa as linhas
joinadas e roda o resto da instrução — filtros, agregações, GROUP BY,
ORDER BY — por cima.
Abra um pelo menu de botão direito da barra lateral (Novo Workbench), pelo atalho ⌘⌥B ou por Arquivo → Novo Workbench. Escreva SQL, depois pressione ⌘↩ para rodar.
O editor sugere nomes de tabela, além de campos e valores indexados conforme o contexto SQL no cursor. Veja Estatísticas da tabela para o que o índice local contém e como atualizá-lo.
SELECT c.email, COUNT(*) AS orders, SUM(o.total) AS revenue
FROM orders o
JOIN customers c ON o.customerId = c.id
GROUP BY c.email
ORDER BY revenue DESC
O que ele suporta
Uma única instrução SELECT com:
JOIN ... ON ...— joinsINNEReLEFTentre tabelas.- Agregações —
COUNT,SUM,AVG,MIN,MAX, maisGROUP BYeHAVING. WHERE,DISTINCT,CASE,CAST,ORDER BY.
Enquanto uma consulta de agregação ainda está fazendo streaming, um selo
partial marca as colunas afetadas — os números se refinam conforme mais
páginas chegam.
A regra de padrão de acesso
O DynamoDB não tem joins no lado do servidor. O compilador do Workbench impõe o
que o DynamoDB consegue fazer: o atributo do lado de destino de cada JOIN
deve ser uma chave de partição ou uma chave de partição de na
tabela alvo, para que toda busca seja uma consulta real, nunca um
de tabela inteira escondido por linha.
Se um join aponta para um atributo que não é de chave, o editor o sublinha e explica o porquê. Outras rejeições do compilador também aparecem como sublinhados de validação precisos. O Workbench não oferece correções rápidas:
- Joins
RIGHT/FULL OUTER/CROSSe joins por vírgula (apenasINNER/LEFT). - Subconsultas, CTEs (
WITH),UNION/INTERSECT/EXCEPT. - Funções de janela (
OVER), múltiplas instruções, qualquer coisa que não seja umSELECT.
Somente leitura
Um Workbench é sempre somente leitura. Não há edição, preparação nem exclusão em lote — é uma superfície de análise. Rodar uma consulta nunca escreve nas suas tabelas.
Os identificadores seguem a capitalização padrão do SQL: nomes sem aspas
correspondem sem diferenciar maiúsculas (WHERE PLATFORM encontra platform);
envolva um nome em aspas ou crases para correspondência exata de maiúsculas.
Preview the query cost
Quando há um plano disponível, a prévia identifica Scan versus Query e o
índice; a estimativa de RCU aparece somente quando os metadados da tabela a
sustentam.
Essa barra de status aparece no Workbench e no PartiQL, não na linha de filtro visual. SQL vazio, uma falha de compilação, DML ou PartiQL que não dá para analisar não têm plano, então nenhuma barra de custo aparece.
Uma Query comum de partição mostra “o custo depende dos itens correspondentes”
e nenhuma RCU. Uma leitura pontual e um Scan com tamanho conhecido também não
produzem RCU sem os metadados de DescribeTable que os sustentem.
Uma leitura pontual ainda mostra “≈1 item”. Um Scan com contagem de itens pode
mostrar uma estimativa da tabela, mas calcular a RCU dele exige o tamanho da
tabela em bytes. Sem um desses valores, um Scan diz “tamanho desconhecido”.
As estimativas de Scan usam os números de tabela do DynamoDB, atualizados
periodicamente, não valores ao vivo. O ramo da leitura pontual precifica leitura
fortemente consistente; o ramo do Scan precifica consistência eventual.
Tanto o Workbench quanto o PartiQL executam leituras com consistência eventual. Por isso, a estimativa da leitura pontual pode ser o dobro do custo real da requisição. Trate todo número como uma dica antes da execução, não como uma fatura.
Rodar, templates e histórico
- Rodar — ⌘↩ no editor, o botão Executar, ou ⌘R para reexecutar. Abas de Workbench nunca rodam automaticamente ao abrir; a execução é sempre deliberada.
- Run to end — ⌘⇧↩, ou escolha no menu suspenso do botão Executar, para transmitir o resultado joinado completo em vez de uma página. O limite de página é levantado e as páginas continuam chegando até a consulta se esgotar; Parar é o único freio. Útil para agregações grandes que você quer completas em uma só passada.
- Templates e consultas salvas — o menu Consultas reúne os templates iniciais (selecionar tudo, filtrar por chave, contar por grupo, com buracos para percorrer com Tab) mais qualquer consulta que você guarde com Salvar — suas próprias consultas nomeadas, reutilizáveis em qualquer tabela. Escolher uma substitui o conteúdo do editor, então ela roda exatamente como você salvou.
- Histórico — toda execução é salva (separadamente do histórico do PartiQL), pesquisável e restaurável — incluindo execuções que falharam, para você corrigir e tentar de novo.
Uma aba de Workbench é um spec salvo — dê um nome, reabra-a por ⌘K e ela sobrevive a recarregamentos. Você também pode exportar seus resultados joinados.
Workbench vs Smart Table
Ambos rodam o mesmo mecanismo de join; são duas formas de criar a mesma coisa:
- Workbench é a via SQL — digite uma consulta, obtenha agregações e atributos resolvidos.
- Smart Table é a via visual — desenhe os joins em um canvas e navegue pelas linhas joinadas como em uma tabela normal.


