CREATE TABLE ステートメントを実行して、既存のテーブルまたは検索インデックスのマッピングテーブルを作成できます。マッピングテーブルを作成する際は、テーブル内のフィールドの名前と型、テーブルのプライマリキー情報、ビジネス要件に基づいたデータクエリの実行エンジンを指定します。
CREATE TABLE ステートメントの詳細については、テーブルのマッピングテーブルを作成するおよび検索インデックスのマッピングテーブルを作成するを参照してください。
前提条件
OTSClient インスタンスが初期化されていること。詳細については、OTSClient インスタンスを初期化するを参照してください。
データテーブルが作成されていること。
検索インデックス用に作成されたマッピングテーブルを使用してデータをクエリする場合は、検索インデックスが作成されていること。
パラメーター
パラメーター | 説明 |
query | SQL ステートメント。必要な機能に基づいてパラメーターを設定します。 |
例
このトピックでは、テーブルのマッピングテーブルを作成する方法について説明します。検索インデックスのマッピングテーブルを作成する場合は、サンプルコードの SQL ステートメントを、検索インデックスのマッピングテーブルを作成するために使用する SQL ステートメントに置き換えてください。
次のサンプルコードは、create table test_table (pk varchar(1024), long_value bigint(20), double_value double, string_value mediumtext, bool_value bool, primary key(pk))
ステートメントを実行して、test_table という名前のテーブルのマッピングテーブルを作成する例を示しています。
func createMappingTable(client *tablestore.TableStoreClient) {
// SQLリクエストを作成します。
request := &tablestore.SQLQueryRequest{Query: "create table test_table (pk varchar(1024), long_value bigint, double_value double, string_value mediumtext, bool_value bool, primary key(pk))"}
// SQLリクエストへのレスポンスを取得します。
res, err := client.SQLQuery(request)
if err != nil {
fmt.Println(err.Error())
} else {
fmt.Println(res.ResponseInfo.RequestId)
}
}
FAQ
参考資料
SQL ステートメントを実行してデータクエリと計算を高速化する場合、セカンダリインデックスまたは検索インデックスを作成できます。詳細については、インデックス選択ポリシーおよび計算プッシュダウンを参照してください。
SELECT ステートメントを実行して、マッピングテーブルを作成したテーブルのデータをクエリおよび分析できます。詳細については、データのクエリを参照してください。
データテーブルに属性列が追加または削除された場合、
ALTER TABLE
ステートメントを実行して、データテーブル用に作成されたマッピングテーブルを変更できます。詳細については、マッピングテーブルの属性列を更新するを参照してください。テーブルの説明をクエリする場合は、
DESCRIBE
ステートメントを実行できます。詳細については、テーブルに関する情報のクエリを参照してください。テーブルまたは検索インデックス用に作成されたマッピングテーブルが不要になった場合は、
DROP MAPPING TABLE
ステートメントを実行してマッピングテーブルを削除できます。詳細については、マッピングテーブルの削除を参照してください。テーブルのインデックス情報を表示する場合は、
SHOW INDEX
ステートメントを実行できます。詳細については、テーブルのインデックス情報のクエリを参照してください。現在のデータベース内のマッピングテーブルの名前をクエリする場合は、
SHOW TABLES
ステートメントを実行できます。詳細については、マッピングテーブルの名前のクエリを参照してください。