SQL Workbench

Il Workbench è un tab di authoring SQL che esegue vere query JOIN, GROUP BY e aggregate sulle tue tabelle DynamoDB — le cose che PartiQL non può fare. È SQL entro le regole di pattern di accesso di DynamoDB: scrivi una singola SELECT, un compilatore verifica che ogni join legga attraverso una chiave o un indice reale, materializza le righe joinate ed esegue il tuo SQL completo sopra.

Aprine uno dal menu del clic destro nella barra laterale (Nuovo Workbench), la scorciatoia ⌘⌥B o File → Nuovo Workbench. Scrivi SQL, poi premi ⌘↩ per eseguire.

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
Il Workbench: un JOIN SQL multi-tabella, con la griglia dei risultati joinati sotto.
Il Workbench: un JOIN SQL multi-tabella, con la griglia dei risultati joinati sotto.

Cosa supporta

Una singola istruzione SELECT con:

  • JOIN ... ON ... — join INNER e LEFT tra tabelle.
  • AggregatiCOUNT, SUM, AVG, MIN, MAX, più GROUP BY e HAVING.
  • WHERE, DISTINCT, CASE, CAST, ORDER BY.

Mentre una query aggregata è ancora in streaming, un badge partial segna le colonne interessate — i numeri si affinano man mano che arrivano più pagine.

La regola di pattern di accesso

DynamoDB non ha join lato server. Il compilatore del Workbench impone ciò che DynamoDB può fare: l'attributo del lato di destinazione di ogni JOIN deve essere una partition key o una partition key di GSI sulla tabella target, così ogni lookup è una query reale, mai uno scan dell'intera tabella nascosto per riga.

Se un join punta a un attributo non chiave, l'editor lo sottolinea e spiega perché. Altri costrutti il compilatore li rifiuta a monte, con uno squiggle preciso:

  • Join RIGHT / FULL OUTER / CROSS e join con virgola (solo INNER / LEFT).
  • Sottoquery, CTE (WITH), UNION / INTERSECT / EXCEPT.
  • Funzioni window (OVER), istruzioni multiple, qualsiasi cosa che non sia una SELECT.

Sola lettura

Un Workbench è sempre in sola lettura. Non c'è modifica, staging o eliminazione in blocco — è una superficie di analisi. Eseguire una query non scrive mai sulle tue tabelle.

Gli identificatori seguono il casing SQL standard: i nomi non virgolettati corrispondono senza distinzione di maiuscole (WHERE PLATFORM trova platform); racchiudi un nome tra virgolette o backtick per la corrispondenza esatta delle maiuscole.

Esecuzione, template e cronologia

  • Esegui⌘↩ nell'editor, il pulsante Esegui, o ⌘R per rieseguire. I tab Workbench non si eseguono mai automaticamente all'apertura; l'esecuzione è sempre deliberata.
  • Esegui fino alla fine⌘⇧↩, o scegli l'opzione dal menu del pulsante Esegui, per trasmettere l'intero risultato joinato invece di una sola pagina. Il limite di pagina viene tolto e le pagine continuano ad arrivare finché la query non è esaurita; Stop è l'unico freno. Comodo per grandi aggregati che vuoi completare in un'unica passata.
  • Template e query salvate — il menu Query contiene template iniziali (select-all, filter-by-key, count-by-group, con caselle scorribili con Tab) più qualsiasi query conservi con Salva — le tue query con un nome, riutilizzabili su qualsiasi tabella. Sceglierne una sostituisce il contenuto dell'editor, così viene eseguita esattamente come l'hai salvata.
  • Cronologia — ogni esecuzione viene salvata (separatamente dalla cronologia di PartiQL), è ricercabile ed è ripristinabile — esecuzioni fallite comprese, così puoi correggere e riprovare.

Un tab Workbench è uno spec salvato — dagli un nome, riaprilo da ⌘K, e sopravvive ai reload. Puoi anche esportare i suoi risultati joinati.

Workbench vs Smart Table

Entrambi eseguono lo stesso motore di join; sono due modi di creare la stessa cosa:

  • Il Workbench è la corsia SQL — scrivi una query, ottieni aggregati e attributi risolti.
  • La Smart Table è la corsia visuale — disegna i join su un canvas e naviga le righe joinate come una normale tabella.

Aggiornato