Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Creazione di tabelle illimitate utilizzando variabili
È possibile utilizzare le variabili per creare tabelle frammentate e di riferimento impostando la modalità di creazione delle tabelle. Le tabelle che creerai utilizzeranno quindi questa modalità finché non imposterai una modalità diversa.
Utilizzate le seguenti variabili per creare tabelle frammentate e di riferimento:
-
rds_aurora.limitless_create_table_mode
— Imposta questa variabile di sessione susharded
oreference
. Il valore predefinito di questa variabile èstandard
. -
rds_aurora.limitless_create_table_shard_key
— Imposta questa variabile di sessione su una matrice di nomi di colonna da utilizzare come chiavi di condivisione. Questa variabile viene ignorata quandords_aurora.limitless_create_table_mode
non lo è.sharded
Formatta il valore come
untyped array literal
quando inserisci valori letterali in una colonna di matrice. Per maggiori informazioni, consulta Arrays nella documentazionedi SQL Postgre. -
rds_aurora.limitless_create_table_collocate_with
— Imposta questa variabile di sessione su un nome di tabella specifico per collocare le tabelle appena create con quella tabella.Se due o più tabelle vengono suddivise utilizzando la stessa chiave shard, è possibile allineare (collocare) esplicitamente tali tabelle. Quando vengono collocate due o più tabelle, le righe di tali tabelle con gli stessi valori della chiave dello shard vengono posizionate sullo stesso frammento. La collocazione aiuta a limitare alcune operazioni a un singolo shard, il che si traduce in prestazioni migliori.
Nota
Tutte le chiavi primarie e univoche devono includere la chiave shard. Ciò significa che la chiave shard è un sottoinsieme della chiave primaria o unica.
Le tabelle illimitate presentano alcune limitazioni. Per ulteriori informazioni, consulta DDLlimitazioni e altre informazioni per Aurora SQL Postgre Limitless Database.
Argomenti
Esempi di utilizzo di variabili per creare tabelle illimitate
Gli esempi seguenti mostrano come utilizzare queste variabili per creare tabelle frammentate e di riferimento.
Crea una tabella condivisa denominataitems
, con la chiave shard. id
BEGIN; SET LOCAL rds_aurora.limitless_create_table_mode='sharded'; SET LOCAL rds_aurora.limitless_create_table_shard_key='{"id"}'; CREATE TABLE items(id int, val int, item text); COMMIT;
Crea una tabella condivisa denominataitems
, con una chiave shard composta da e colonne. item_id
item_cat
BEGIN; SET LOCAL rds_aurora.limitless_create_table_mode='sharded'; SET LOCAL rds_aurora.limitless_create_table_shard_key='{"item_id", "item_cat"}'; CREATE TABLE items(item_id int, item_cat varchar, val int, item text); COMMIT;
Create una tabella condivisa denominataitem_description
, con una chiave shard composta da item_id
e item_cat
colonne, e collocatela con la items
tabella dell'esempio precedente.
BEGIN; SET LOCAL rds_aurora.limitless_create_table_mode='sharded'; SET LOCAL rds_aurora.limitless_create_table_shard_key='{"item_id", "item_cat"}'; SET LOCAL rds_aurora.limitless_create_table_collocate_with='items'; CREATE TABLE item_description(item_id int, item_cat varchar, color_id int); COMMIT;
Crea una tabella di riferimento denominata. colors
BEGIN; SET LOCAL rds_aurora.limitless_create_table_mode='reference'; CREATE TABLE colors(color_id int primary key, color varchar); COMMIT;
Per reimpostare la variabile di rds_aurora.limitless_create_table_mode
sessione sustandard
, utilizzate la seguente istruzione:
RESET rds_aurora.limitless_create_table_mode;
Dopo aver reimpostato questa variabile, le tabelle vengono create come tabelle standard, che è l'impostazione predefinita. Per ulteriori informazioni sulle tabelle standard, vedereConversione di tabelle standard in tabelle illimitate.
Visualizzazioni della tabella del database Aurora Postgre Limitless SQL
È possibile trovare informazioni sulle tabelle di Limitless Database utilizzando le seguenti viste.
- rds_aurora.limitless_tables
-
La
rds_aurora.limitless_tables
vista contiene informazioni sulle tabelle illimitate e sui relativi tipi.postgres_limitless=> SELECT * FROM rds_aurora.limitless_tables; table_gid | local_oid | schema_name | table_name | table_status | table_type | distribution_key -----------+-----------+-------------+-------------+--------------+-------------+------------------ 5 | 18635 | public | standard | active | standard | 6 | 18641 | public | ref | active | reference | 7 | 18797 | public | orders | active | sharded | HASH (order_id) 2 | 18579 | public | customer | active | sharded | HASH (cust_id) (4 rows)
- rds_aurora.limitless_table_collocations
-
La vista contiene informazioni sulle tabelle suddivise
rds_aurora.limitless_table_collocations
collocate. Ad esempio, lecustomers
tabelleorders
e sono collocate e hanno le stesse caratteristiche.collocation_id
Lefollowers
tabelleusers
e sono collocate e hanno la stessa posizione.collocation_id
postgres_limitless=> SELECT * FROM rds_aurora.limitless_table_collocations ORDER BY collocation_id; collocation_id | schema_name | table_name ----------------+-------------+------------ 16002 | public | orders 16002 | public | customers 16005 | public | users 16005 | public | followers (4 rows)
- rds_aurora.limitless_table_collocation_distribution
-
Mostra la distribuzione delle chiavi per ogni collocazione
rds_aurora.limitless_table_collocation_distributions
.postgres_limitless=> SELECT * FROM rds_aurora.limitless_table_collocation_distributions ORDER BY collocation_id, lower_bound; collocation_id | subcluster_id | lower_bound | upper_bound ----------------+---------------+----------------------+---------------------- 16002 | 6 | -9223372036854775808 | -4611686018427387904 16002 | 5 | -4611686018427387904 | 0 16002 | 4 | 0 | 4611686018427387904 16002 | 3 | 4611686018427387904 | 9223372036854775807 16005 | 6 | -9223372036854775808 | -4611686018427387904 16005 | 5 | -4611686018427387904 | 0 16005 | 4 | 0 | 4611686018427387904 16005 | 3 | 4611686018427387904 | 9223372036854775807 (8 rows)