show index ステートメントを実行して、インデックス名、インデックスフィールド、インデックスタイプなど、テーブルのインデックス情報を照会できます。
show index ステートメントの詳細については、テーブルのインデックス情報を照会するを参照してください。
前提条件
OTSClient インスタンスが初期化されていること。詳細については、OTSClient インスタンスを初期化するを参照してください。
マッピングテーブルが作成されていること。詳細については、テーブルのマッピングテーブルを作成するを参照してください。
使用上の注意
Tablestore SDK for Java V5.13.0 以降では、SQL クエリ機能がサポートされています。SQL クエリ機能を使用するには、SQL クエリ機能をサポートするバージョンの Tablestore Java SDK を使用していることを確認してください。 Tablestore SDK for Java のバージョン履歴については、Tablestore SDK for Java のバージョン履歴を参照してください。
パラメーター
パラメーター | 説明 |
query | SQL ステートメント。必要な機能に基づいてパラメーターを設定します。 |
例
次のサンプルコードは、show index in test_table
ステートメントを実行して、test_table という名前のテーブルのインデックス情報を照会する方法の例を示しています。
private static void showIndexDemo(SyncClient client) {
// SQLリクエストを作成します。
SQLQueryRequest request = new SQLQueryRequest("show index in test_table");
// SQLリクエストへのレスポンスを取得します。
SQLQueryResponse response = client.sqlQuery(request);
// SQLリクエストの戻り結果のスキーマを取得します。
SQLTableMeta tableMeta = response.getSQLResultSet().getSQLTableMeta();
System.out.println("response table schema: " + tableMeta.getSchema());
// SQL ResultSet を使用して、SQLリクエストのすべての戻り結果を取得します。
System.out.println("response resultset:");
SQLResultSet resultSet = response.getSQLResultSet();
while (resultSet.hasNext()) {
SQLRow row = resultSet.next();
System.out.println(row.getString("Table") + ", " + row.getLong("Non_unique") + ", " +
row.getString("Key_name") + ", " + row.getLong("Seq_in_index") + ", " +
row.getString("Column_name") + ", " + row.getString("Index_type") );
}
}
サンプルレスポンス:
response table schema: [Table:STRING, Non_unique:INTEGER, Key_name:STRING, Seq_in_index:INTEGER, Column_name:STRING, Is_defined_column:STRING, Collation:STRING, Cardinality:INTEGER, Sub_part:INTEGER, Packed:STRING, Null:STRING, Index_type:STRING, Comment:STRING, Index_comment:STRING, Visible:STRING, Expression:STRING]
response resultset:
test_table, 0, PRIMARY, 1, pk,
test_table, 1, test_table_index, 1, pk, SearchIndex
test_table, 1, test_table_index, 2, bool_value, SearchIndex
test_table, 1, test_table_index, 3, double_value, SearchIndex
test_table, 1, test_table_index, 4, long_value, SearchIndex
test_table, 1, test_table_index, 5, string_value, SearchIndex
参照
SQL クエリ機能を使用する際に特定の検索インデックスを使用してデータを照会する場合は、
CREATE TABLE
ステートメントを実行して、検索インデックスのマッピングテーブルを作成できます。詳細については、検索インデックスのマッピングテーブルを作成するを参照してください。SQL ステートメントを実行して、インデックスのフィールドに基づいてデータを照会できます。詳細については、データの照会を参照してください。