Creazione di tabelle illimitate utilizzando variabili - Amazon Aurora

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 su sharded 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 quando rds_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 documentazione di 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.

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, le customers tabelle orders e sono collocate e hanno le stesse caratteristiche. collocation_id Le followers tabelle users 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 collocazionerds_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)