Filtri e query pattern
Ogni tab tabella porta con sé un filtro: lo stato dei predicati che DynoTable
trasforma in una richiesta DynamoDB. Capire come i pezzi si mappano su query o
scan è gran parte di ciò che rende l'app veloce e la tua bolletta piccola.
Questa pagina riguarda la modalità tab Visual. Per scrivere query in stile SQL direttamente, passa a PartiQL; per join e aggregazioni, apri un Workbench.
La riga dei filtri
La modalità Visual mostra una singola riga orizzontale di pillole:
[Index] [hashKey = value] [rangeKey op value] [+ filter] | [Clear] [Query/Scan]- Pillola indice — il query pattern attraverso cui leggi.
- Pillole chiave — la chiave di partizione (hash) e, dove c'è, la chiave di ordinamento (range) di quel pattern.
- Pillole filtro — condizioni aggiuntive non di chiave (filtri di scan).
- Il pulsante d'azione mostra Query o Scan a seconda di cosa hai impostato, e diventa Carica altro quando i risultati sono in streaming.
Imposta un valore e DynoTable esegue automaticamente; svuotare o modificare una pillola riesegue non appena il filtro torna valido.

Query patterns
Un query pattern è l'indice attraverso cui leggi:
PRIMARY— la / della tabella stessa.- Un o con nome — con il proprio schema delle chiavi.
Il pattern scelto decide su quali chiavi puoi filtrare. Cambia pattern dalla pillola dell'indice; le pillole chiave si aggiornano alla chiave di partizione e di ordinamento di quel pattern.
Query vs scan
È la distinzione che conta per costo e velocità:
- Imposta un filtro sulla e DynoTable emette una mirata: legge solo la partizione corrispondente. Economica e veloce.
- Senza, ripiega su uno , che legge l'intera tabella (o l'indice) pagina per pagina. Il pulsante d'azione mostra Scan per renderlo esplicito.
Filtri di chiave
La pillola della chiave di partizione accetta un valore; l'azione diventa Query nel momento in cui lo imposti. La pillola della chiave di ordinamento aggiunge un confronto:
=,<,<=,>,>=— confronti ordinati (numeri, e lessicografici sulle stringhe).begins_with— corrispondenza per prefisso su stringhe o binari.between— un intervallo inclusivo; la pillola fa crescere un secondo campo valore.
Le chiavi di tipo stringa offrono il completamento automatico dai valori presenti nell'indice locale. Vedi Statistiche della tabella per come viene costruito l'indice e cosa copre. Le chiavi senza suggerimenti utili (UUID casuali, per dire) ripiegano su un input semplice.
Filtri di scan
La pillola + filter aggiunge una condizione non di chiave: qualsiasi attributo, non solo le chiavi. Ogni filtro è una colonna, un operatore e un valore:
- Confronti:
=,≠,<,<=,>,>=,between. - Appartenenza:
in— corrisponde a un qualsiasi valore di una lista (stringhe o numeri). - Stringa / binario:
begins_with,contains. - Esistenza:
exists,not exists. - Tipo:
type equals/type not equals(rispetto al codice di tipo DynamoDB —S,N,BOOL, …), più una famigliasizeper i tipi collezione.
Gli operatori offerti si adattano al tipo dell'attributo: i confronti d'ordine
compaiono per i numeri, begins_with per le stringhe. I filtri di scan si
applicano dopo che la query o lo scan hanno letto gli item, quindi restringono
il risultato ma non rendono uno scan più economico. Usa un filtro di chiave per
tagliare la lettura; usa i filtri di scan per raffinare ciò che torna indietro.
Single-table design: chiavi composite
I single-table design impacchettano diversi tipi di entità in un'unica tabella
dietro un prefisso di chiave — USER#123, ORDER#456, TENANT#acme. DynoTable
li riconosce da solo, senza niente da configurare:
- Le chiavi vengono decodificate sul posto. Un valore composito — un prefisso
maiuscolo unito al resto da
#,|o~— viene reso come le sue parti etichettate in ogni griglia: la tabella, i risultati PartiQL e il Workbench. I valori ordinari che semplicemente contengono uno di quei caratteri (un colore esadecimale come#FF5733, una lista separata da pipe) restano esattamente come sono. - Filtra su un'entità in un clic. Fai clic destro su una riga e scegli
Filtra su
USER#: il prefisso viene letto direttamente dalla chiave di quella riga. DynoTable applica un verobegins_withsulla chiave come una normale pillola di filtro, che togli nel modo consueto (la sua ✕, oppure Clear). Quando la chiave di partizione e quella di ordinamento di una riga hanno entrambe un prefisso, ottieni una scelta per ciascuna.
Non c'è alcuna finestra di dialogo, nessuna configurazione e niente da salvare: è derivato in tempo reale dalle chiavi che hai davanti.

Ordinamento e paginazione
La pillola della chiave di ordinamento porta un selettore di ordine
(ascendente / discendente) che si mappa su ScanIndexForward di DynamoDB. I
risultati arrivano una pagina alla volta: Carica altro recupera la pagina
successiva, e cambiare la dimensione della pagina
ricarica dalla prima.
Run to end
Per impostazione predefinita una query o uno scan si mettono in pausa dopo qualche pagina, così una tabella grande non si carica tutta insieme: il pulsante d'azione mostra Carica altro per recuperare la pagina successiva. Quando preferisci tirare giù tutto in una passata, cambia la modalità di esecuzione:
- Fai clic sul chevron accanto al pulsante d'azione e scegli Run to end. Il pulsante principale si rietichetta in Scan all / Query all / Run all, anche quando sei in pausa sul budget di pagine, dove premerlo scarica tutto fino alla fine.
- Premi quel pulsante rietichettato e DynoTable continua a recuperare pagine finché l'intera tabella (o indice) non è letta. La scelta viene ricordata per tab per la sessione; scegli Paged per tornare indietro. Scegliere una modalità non avvia mai un'esecuzione da sola: rietichetta solo il pulsante, quindi decidi tu quando partire.
Su una tabella grande, armare Run to end mostra prima una richiesta di conferma con la dimensione approssimativa della tabella e il numero di item, così uno scan completo è sempre una scelta deliberata e non un incidente. Conferma per procedere, o annulla per restare in modalità paginata.

Da tastiera:
- ⌘↩ esegue la query corrente — e quando i risultati sono in pausa sul budget di pagine continua alla pagina successiva invece di ricominciare.
- ⌘⇧↩ esegue fino alla fine in un colpo solo.
- ⌘. o Esc fermano in qualsiasi momento un'esecuzione in corso.








