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

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

最終更新日:May 01, 2026

show index 文を実行して、テーブルのインデックス名、インデックスフィールド、およびインデックスタイプを取得します。

説明

詳細については、「テーブルのインデックス情報のクエリ」をご参照ください。

前提条件

作業を開始する前に、次の要件を満たしていることを確認してください。

注意事項

SQL クエリ機能を使用するには、Tablestore SDK for .NET V5.0.0 以降が必要です。

詳細については、「Tablestore SDK for .NET のバージョン履歴」をご参照ください。

パラメーター

パラメーター

説明

query

実行する SQL ステートメントです。show index 文を、調査対象のテーブルに対して指定します。

コード例

次の例では、test_table という名前のテーブルに対して show index in test_table を実行します。このコードは SQL クエリを送信し、結果セットのスキーマを読み取った後、各行を繰り返し処理してインデックスフィールドを出力します。

/// <summary>
/// テーブルのインデックス情報をクエリします。
/// </summary>
/// <param name="otsClient"></param>
public static void DescribeIndex(OTSClient otsClient)
{
    SQLQueryRequest sqlQueryRequest = new SQLQueryRequest("show index in test_table");

    SQLQueryResponse sqlQueryResponse = otsClient.SQLQuery(sqlQueryRequest);

    SQLTableMeta sqlTableMeta = sqlQueryResponse.GetSQLResultSet().GetSQLTableMeta();
    Console.WriteLine(JsonConvert.SerializeObject(sqlTableMeta.GetSchema()));

    ISQLResultSet resultSet = sqlQueryResponse.GetSQLResultSet();
    while (resultSet.HasNext())
    {
        ISQLRow row = resultSet.Next();
        Console.WriteLine(row.GetString("Table") + " " + row.GetLong("Non_unique") + " " + row.GetString("Key_name") + " " +
                          row.GetLong("Seq_in_index") + " " + row.GetString("Column_name") + " " + row.GetString("Index_type"));
    }
}

レスポンスフィールド

結果セットは、各インデックスエントリについて以下のフィールドを返します。

フィールド

説明

Table

String

テーブル名です。

Non_unique

Long

インデックスが重複値を許可するかどうかを示します。0 は値が一意である必要があることを意味し、1 は重複を許可することを意味します。

Key_name

String

インデックス名です。

Seq_in_index

Long

インデックス内のカラム位置を示します(1 から始まります)。

Column_name

String

インデックス対象のカラム名です。

Index_type

String

インデックスタイプです。

関連ドキュメント

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

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