Tablestore SDK for Python では、マッピングテーブルのプライマリキーおよび関連インデックスの名前、フィールド、タイプをクエリできます。
前提条件
Tablestore SDK for Python をインストールし、クライアントを初期化します。
SQL クエリにはバージョン 5.4.2 以降が必要です。最新バージョンの使用を推奨します。
説明
exe_sql_query メソッドを呼び出して SHOW INDEX 文を実行し、マッピングテーブルのプライマリキーおよび関連インデックスをクエリします。
def exe_sql_query(self, query)
データテーブルマッピングの場合、結果にはプライマリキーと、データテーブル上のセカンダリインデックスおよび検索インデックスのフィールドが含まれます。検索インデックスマッピングの場合、結果には指定された検索インデックスのプライマリキーとフィールドのみが含まれます。
次の例では、example_search_table のインデックス情報をクエリします。
query = "SHOW INDEX IN example_search_table"
row_list, _, _ = client.exe_sql_query(query)
for row in row_list:
values = dict(row.attribute_columns)
print(values["Key_name"], values["Column_name"], values["Index_type"])
パラメーター
exe_sql_query メソッドには次のパラメーターが含まれます。
|
名前 |
タイプ |
説明 |
|
query (必須) |
String |
実行する |
応答
exe_sql_query メソッドは、次の要素を含むタプルを返します。
|
要素 |
タイプ |
説明 |
|
|
List[Row] |
インデックスフィールドのリスト。各行は、プライマリキー、セカンダリインデックス、または検索インデックスのフィールドに対応します。 |
|
|
List[Tuple] |
データテーブルによって消費された読み取りおよび書き込みキャパシティーユニット。各タプルには、テーブル名と |
|
|
List[Tuple] |
検索インデックスによって消費された読み取りおよび書き込みキャパシティーユニット。各タプルには、検索インデックス名と |
結果セットのフィールド
|
フィールド |
タイプ |
説明 |
|
|
String |
マッピングテーブル名。 |
|
|
Integer |
重複するインデックス値が許可されているかどうか。 |
|
|
String |
インデックス名。プライマリキーは |
|
|
Integer |
インデックス内のフィールド位置。1 から始まります。 |
|
|
String |
インデックスフィールド名。 |
|
|
String |
フィールドがデータテーブルの事前定義列であるかどうか。 |
|
|
String |
The query type of a search index field. |
|
|
String |
インデックスフィールドの照合順序。 |
|
|
Integer |
インデックス内の一意の値の推定数。 |
|
|
Integer |
インデックスフィールドのプレフィックス長。 |
|
|
String |
インデックスの圧縮方法。 |
|
|
String |
フィールドが null になり得るかどうか。 |
|
|
String |
インデックスタイプ。グローバルセカンダリインデックスは |
|
|
String |
インデックスの備考。 |
|
|
String |
インデックスのコメント。 |
|
|
String |
インデックスが可視であるかどうか。 |
|
|
String |
インデックスの式。 |