すべてのプロダクト
Search
ドキュメントセンター

Tablestore:テーブルのインデックス情報をクエリする

最終更新日:May 01, 2026

show index 文を実行して、テーブルのインデックスメタデータ(インデックス名、フィールド、タイプなど)を取得します。

説明

show index 文の完全なリファレンスについては、「テーブルのインデックス情報をクエリする」をご参照ください。

前提条件

Tablestore クライアントが初期化済みである必要があります。詳細については、「Tablestore クライアントの初期化」をご参照ください。

注意事項

SQL クエリ機能は、Tablestore SDK for Java V5.13.0 以降でサポートされています。SQL クエリ機能を使用する際は、サポート対象バージョンの Tablestore SDK for Java がインストールされていることを確認してください。

パラメーター

パラメーター

説明

query

SQL ステートメントです。必要な機能に応じてこのパラメーターを設定します。

次の例では、show index in test_table を実行して、test_table のすべてのインデックスメタデータを取得します。結果セットにはスキーマと、インデックスフィールドごとの 1 行が含まれます。

private static void showIndexDemo(SyncClient client) {
    // SQL リクエストを送信
    SQLQueryRequest request = new SQLQueryRequest("show index in test_table");
    SQLQueryResponse response = client.sqlQuery(request);

    // 結果セットのスキーマを出力
    SQLTableMeta tableMeta = response.getSQLResultSet().getSQLTableMeta();
    System.out.println("response table schema: " + tableMeta.getSchema());

    // 結果セットの各行を反復処理
    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

スキーマ行には、show index によって返されるすべてのカラムがリストされます。その後の各行は、インデックス内の 1 つのフィールドを表します。この例では、test_table に主キーインデックス(PRIMARY)と、5 つのフィールドをカバーする多次元インデックス(test_table_index)が存在します。

参照

  • SQL クエリで特定の検索インデックスを使用するには、CREATE TABLE 文でその検索インデックスのマッピングテーブルを作成します。詳細については、「検索インデックスのマッピングテーブルを作成する」をご参照ください。

  • SQL ステートメントを使用してインデックスフィールドに基づくデータのクエリを行う方法については、「データのクエリ」をご参照ください。