Tabellen und Indizes erstellen
Erfahren Sie, wie Sie Tabellen und Indizes erstellen.
Das Erstellen einer Tabelle ist der erste Schritt beim Entwickeln Ihrer Anwendung. Sie verwenden die
TableRequest
-Klasse und Methoden zum Ausführen aller DDL-Anweisungen, wie z.B. Erstellen, Ändern und Löschen von Tabellen. Sie können Tabellenlimits auch mit der Methode TableRequest.setTableLimits
festlegen.
Bevor Sie Tabellen erstellen, finden Sie weitere Informationen unter:
Mit der Klasse TableRequest
können Sie eine DDL-Anweisung an die Methode TableRequest.setStatement
übergeben. Beispiele für DDL-Anweisungen:
/* Create a new table called users */
CREATE IF NOT EXISTS users(id INTEGER,
name STRING,
PRIMARY KEY(id));
/* Create a new table called users and set the TTL value to 4 days */
CREATE IF NOT EXISTS users(id INTEGER,
name STRING,
PRIMARY KEY(id))
USING TTL 4 days;
/* Create a new index called nameIdx on the name field in the users table */
CREATE INDEX IF NOT EXISTS nameIdx ON users(name);
Hinweis
Das folgende Beispiel setzt voraus, dass das Standard-Compartment in
Das folgende Beispiel setzt voraus, dass das Standard-Compartment in
NoSQLHandleConfig
beim Abrufen des NoSQL-Handles angegeben wird. Siehe NoSQL-Handle abrufen. Weitere Optionen zum Angeben eines Compartments für die NoSQL-Tabellen finden Sie unter Informationen zu Compartments.
So erstellen Sie eine Tabelle und einen Index mit der Klasse TableRequest
und den zugehörigen Methoden:
/* Create a simple table with an integer key and a single json data
* field and set your desired table capacity.
* Set the table TTL value to 3 days.
*/
String createTableDDL = "CREATE TABLE IF NOT EXISTS users " +
"(id INTEGER, name STRING, " +
"PRIMARY KEY(id)) USING TTL 3 days";
TableLimits limits = new TableLimits(200, 100, 5);
TableRequest treq = new TableRequest().setStatement(createTableDDL)
.setTableLimits(limits);
// start the asynchronous operation
TableResult tres = handle.tableRequest(treq);
// wait for completion of the operation
tres.waitForCompletion(handle,
60000, // wait for 60 sec
1000); // delay in ms for poll
// Create an index called nameIdx on the name field in the users table.
treq = new TableRequest().setStatement("CREATE INDEX
IF NOT EXISTS nameIdx ON users(name)
");
// start the asynchronous operation
handle.tableRequest(treq);
// wait for completion of the operation
tres.waitForCompletion(handle,
60000, // wait for 60 sec
1000); // delay in ms for poll
Zugehörige Themen