Workbench SQL
Il Workbench è un tab di scrittura SQL che esegue vere query con JOIN,
GROUP BY e aggregazioni sulle tue tabelle DynamoDB: le cose che
PartiQL non sa fare. È SQL entro le regole dei pattern di
accesso di DynamoDB: scrivi un singolo SELECT, un compilatore verifica che ogni
join legga attraverso una chiave o un indice reale, materializza le righe unite ed
esegue il resto dell'istruzione — filtri, aggregazioni, GROUP BY, ORDER BY — al
di sopra.
Aprine uno dal menu contestuale della sidebar (Nuovo Workbench), con la scorciatoia ⌘⌥B oppure da File → Nuovo Workbench. Scrivi SQL, poi premi ⌘↩ per eseguire.
L'editor suggerisce nomi di tabella, più campi e valori indicizzati in base al contesto SQL sotto il cursore. Vedi Statistiche della tabella per cosa contiene l'indice locale e come aggiornarlo.
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
Cosa supporta
Una singola istruzione SELECT con:
JOIN ... ON ...— joinINNEReLEFTtra tabelle.- Aggregazioni —
COUNT,SUM,AVG,MIN,MAX, piùGROUP BYeHAVING. WHERE,DISTINCT,CASE,CAST,ORDER BY.
Mentre una query di aggregazione è ancora in streaming, un badge partial segna le
colonne interessate: i numeri si affinano man mano che arrivano altre pagine.
La regola dei pattern di accesso
DynamoDB non ha join lato server. Il compilatore del Workbench impone ciò che
DynamoDB sa fare: l'attributo di destinazione di ogni JOIN deve essere una
chiave di partizione o una chiave di partizione di un sulla tabella
di arrivo, così ogni lookup è una query vera e mai uno nascosto
dell'intera tabella per ogni riga.
Se un join punta a un attributo non di chiave, l'editor lo sottolinea e spiega perché. Anche gli altri rifiuti del compilatore compaiono come segnalazioni di validazione precise. Il Workbench non offre correzioni rapide:
- Join
RIGHT/FULL OUTER/CROSSe join con la virgola (soloINNER/LEFT). - Subquery, CTE (
WITH),UNION/INTERSECT/EXCEPT. - Funzioni finestra (
OVER), istruzioni multiple, qualsiasi cosa che non sia unSELECT.
Sola lettura
Un Workbench è sempre in sola lettura. Non c'è modifica, né staging, né eliminazione in blocco: è una superficie di analisi. Eseguire una query non scrive mai sulle tue tabelle.
Gli identificatori seguono le regole standard di SQL sulle maiuscole: i nomi non
quotati corrispondono senza distinzione tra maiuscole e minuscole (WHERE PLATFORM
trova platform); racchiudi un nome tra apici o backtick per una corrispondenza
esatta.
Preview the query cost
Quando è disponibile un piano, l'anteprima indica se si tratta di Scan o Query
e su quale indice; la stima delle RCU compare solo se i metadati della tabella lo
consentono.
Questa barra di stato compare nel Workbench e in PartiQL, non nella riga dei filtri visuali. SQL vuoto, un errore di compilazione, DML o PartiQL non interpretabile non hanno un piano, quindi non compare alcuna barra dei costi.
Una normale Query su partizione mostra “il costo dipende dagli item
corrispondenti” e nessuna RCU. Anche una lettura puntuale e uno Scan con
dimensione nota non producono RCU senza i metadati di supporto di DescribeTable.
Una lettura puntuale mostra comunque “≈1 item”. Uno Scan con un numero di item
può mostrare una stima della tabella, ma calcolarne le RCU richiede la dimensione
della tabella in byte. Senza uno dei due valori, uno Scan dice “dimensione
sconosciuta”.
Le stime di Scan usano i numeri della tabella che DynamoDB aggiorna
periodicamente, non valori in tempo reale. Il ramo della lettura puntuale calcola
il prezzo con l'elevata consistenza di lettura; il ramo Scan con la coerenza
finale.
Sia il Workbench sia PartiQL eseguono letture a coerenza finale. La stima della lettura puntuale può quindi valere il doppio del costo reale della richiesta. Tratta ogni numero come un'indicazione prima dell'esecuzione, non come una fattura.
Esecuzione, template e cronologia
- Esegui — ⌘↩ nell'editor, il pulsante Esegui, oppure ⌘R per rieseguire. I tab Workbench non partono mai da soli all'apertura: l'esecuzione è sempre deliberata.
- Run to end — ⌘⇧↩, o sceglilo dallo split menu del pulsante Esegui, per scorrere in streaming l'intero risultato unito 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 aggregazioni che vuoi complete in una sola passata.
- Template e query salvate — il menu Query contiene template di partenza (select-all, filtro per chiave, conteggio per gruppo, con buchi da percorrere con Tab) più ogni query che conservi con Salva: query tue, 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 e ripristinabile, comprese le esecuzioni fallite, così puoi correggerle e riprovare.
Un tab Workbench è una spec salvata: dagli un nome, riaprilo da ⌘K e sopravvive ai ricaricamenti. Puoi anche esportare i suoi risultati uniti.
Workbench e Smart Table a confronto
Entrambi usano lo stesso motore di join; sono due modi di scrivere la stessa cosa:
- Il Workbench è la corsia SQL: scrivi una query e ottieni aggregazioni e attributi risolti.
- La Smart Table è la corsia visuale: disegni i join su un canvas e sfogli le righe unite come una normale tabella.


