show index ステートメントを実行して、インデックス名、インデックスフィールド、インデックスタイプなど、テーブルに関するインデックス情報をクエリできます。
show index ステートメントの詳細については、テーブルのインデックス情報をクエリするを参照してください。
前提条件
OTSClient インスタンスが初期化されていること。詳細については、OTSClient インスタンスを初期化するを参照してください。
マッピングテーブルが作成されていること。詳細については、マッピングテーブルを作成するを参照してください。
使用上の注意
Tablestore SDK for .NET V5.0.0 以降では、SQL クエリがサポートされています。Tablestore SDK for .NET を使用して SQL クエリを実行するには、SDK のバージョンが 5.0.0 以降であることを確認してください。最新の SDK を使用することをお勧めします。詳細については、Tablestore SDK for .NET のバージョン履歴を参照してください。
パラメーター
パラメーター | 説明 |
query | SQL ステートメント。必要な機能に基づいてパラメーターを設定します。 |
例
次のサンプルコードは、show index in test_table
ステートメントを実行して、test_table という名前のテーブルに関するインデックス情報をクエリする方法の例を示しています。
/// <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"));
}
}
参照
SQL クエリ機能を使用する際に特定の検索インデックスを使用してデータをクエリする場合、
CREATE TABLE
ステートメントを実行して、検索インデックスのマッピングテーブルを作成できます。詳細については、検索インデックスのマッピングテーブルを作成するを参照してください。インデックスのフィールドに基づいてデータをクエリするために SQL ステートメントを実行できます。詳細については、データのクエリを参照してください。