Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Unbegrenzte Anzahl von Tabellen mithilfe von Variablen erstellen
Sie können Variablen verwenden, um Sharded- und Referenztabellen zu erstellen, indem Sie den Tabellenerstellungsmodus einstellen. Dann verwenden die Tabellen, die Sie erstellen, diesen Modus, bis Sie einen anderen Modus einstellen.
Verwenden Sie die folgenden Variablen, um Sharded- und Referenztabellen zu erstellen:
-
rds_aurora.limitless_create_table_mode
— Setzen Sie diese Sitzungsvariable aufsharded
oderreference
. Der Standardwert dieser Variablen iststandard
. -
rds_aurora.limitless_create_table_shard_key
— Setzt diese Sitzungsvariable auf ein Array von Spaltennamen, die als Shard-Schlüssel verwendet werden sollen. Diese Variable wird ignoriert, wenn sierds_aurora.limitless_create_table_mode
nichtsharded
ignoriert wird.Formatieren Sie den Wert als
untyped array literal
, ähnlich wie beim Einfügen von Literalen in eine Array-Spalte. Weitere Informationen finden Sie unter Arraysin der SQL Postgre-Dokumentation. -
rds_aurora.limitless_create_table_collocate_with
— Setzen Sie diese Sitzungsvariable auf einen bestimmten Tabellennamen, um neu erstellte Tabellen dieser Tabelle zuzuordnen.Wenn zwei oder mehr Tabellen mit demselben Shard-Schlüssel geteilt werden, können Sie diese Tabellen explizit ausrichten (zusammenstellen). Wenn zwei oder mehr Tabellen zusammengelegt werden, werden Zeilen aus diesen Tabellen mit denselben Shard-Schlüsselwerten auf demselben Shard platziert. Die Kollokation hilft dabei, einige Operationen auf einen einzigen Shard zu beschränken, was zu einer besseren Leistung führt.
Anmerkung
Alle primären und eindeutigen Schlüssel müssen den Shard-Schlüssel enthalten. Das bedeutet, dass der Shard-Schlüssel eine Teilmenge des primären oder eindeutigen Schlüssels ist.
Limitless-Tabellen haben einige Einschränkungen. Weitere Informationen finden Sie unter DDLEinschränkungen und andere Informationen für Aurora Postgre SQL Limitless Database.
Themen
Beispiele für die Verwendung von Variablen zur Erstellung unbegrenzter Tabellen
Die folgenden Beispiele zeigen, wie Sie diese Variablen verwenden, um Sharded- und Referenztabellen zu erstellen.
Erstellen Sie eine Sharded-Tabelle mit dem Namenitems
, mit dem Shard-Schlüssel. 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;
Erstellen Sie eine Sharded-Tabelle mit dem Namenitems
, mit einem Shard-Schlüssel, der sich aus den Spalten und zusammensetzt. 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;
Erstellen Sie eine Sharded-Tabelle mit dem Namenitem_description
, mit einem Shard-Schlüssel, der sich aus den item_cat
Spalten item_id
und zusammensetzt, und ordnen Sie sie der items
Tabelle aus dem vorherigen Beispiel zu.
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;
Erstellen Sie eine Referenztabelle mit dem Namen. colors
BEGIN; SET LOCAL rds_aurora.limitless_create_table_mode='reference'; CREATE TABLE colors(color_id int primary key, color varchar); COMMIT;
Verwenden Sie die folgende Anweisungstandard
, um die rds_aurora.limitless_create_table_mode
Sitzungsvariable auf zurückzusetzen:
RESET rds_aurora.limitless_create_table_mode;
Nachdem Sie diese Variable zurückgesetzt haben, werden Tabellen als Standardtabellen erstellt. Dies ist die Standardtabelle. Weitere Informationen zu Standardtabellen finden Sie unterKonvertierung von Standardtabellen in unbegrenzt viele Tabellen.
Aurora Postgre SQL Limitless Database-Tabellenansichten
Informationen zu Limitless Database-Tabellen finden Sie in den folgenden Ansichten.
- rds_aurora.limitless_tables
-
Die
rds_aurora.limitless_tables
Ansicht enthält Informationen über unbegrenzt viele Tabellen und deren Typen.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
-
Die Ansicht enthält Informationen über zusammengestellte Shard-Tabellen.
rds_aurora.limitless_table_collocations
Zum Beispiel sind diecustomers
Tabellenorders
und die Tabellen zusammengelegt und haben das Gleiche.collocation_id
Diefollowers
Tabellenusers
und die Tabellen sind angeordnet und haben das Gleiche.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_distributions
-
Das zeigt die Schlüsselverteilung für jede Kollokation.
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)