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

Tablestore:データのクエリ

最終更新日:Dec 28, 2024

テーブルまたはサーチインデックスのマッピングテーブルを作成した後、SELECT ステートメントを実行して、マッピングテーブルを使用してデータのクエリと分析を行うことができます。

説明

SELECT ステートメントの詳細については、データのクエリ を参照してください。

前提条件

使用上の注意

Tablestore SDK for .NET V5.0.0 以降は SQL クエリをサポートしています。Tablestore SDK for .NET を使用して SQL クエリを実行するには、SDK のバージョンが 5.0.0 以降であることを確認してください。最新の SDK を使用することをお勧めします。詳細については、Tablestore SDK for .NET のバージョン履歴 を参照してください。

次のサンプルコードは、select pk0,pk1,col0,col1,date_col,geo_col from test_table limit 20 ステートメントを実行して test_table という名前のテーブル内のデータをクエリし、最大 20 行のデータを返す方法の例を示しています。システムは、リクエストタイプ、返された結果のスキーマ、およびクエリステートメントの返された結果を返します。

/// <summary>
/// データのクエリ。
/// </summary>
/// <param name="otsClient"></param>
public static void QueryData(OTSClient otsClient)
{
    SQLQueryRequest sqlQueryRequest = new SQLQueryRequest("select pk0,pk1,col0,col1,date_col,geo_col from test_table limit 20");

    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("pk0") + " , " + row.GetLong("pk1") + " , " + row.GetString("col0") + " , " +
                          row.GetLong("col1") + " , " + row.GetString("date_col") + " , " + row.GetString("geo_col"));
    }
}

FAQ

参考資料

  • SQL ステートメントを実行してデータクエリと計算を高速化する場合、セカンダリインデックスまたはサーチインデックスを作成できます。詳細については、インデックス選択ポリシー および 計算プッシュダウン を参照してください。

  • データテーブルに属性列が追加または削除された場合、ALTER TABLE ステートメントを実行して、データテーブル用に作成されたマッピングテーブルを変更できます。詳細については、マッピングテーブルの属性列の更新 を参照してください。

  • テーブルの説明をクエリする場合、DESCRIBE ステートメントを実行できます。詳細については、テーブルに関する情報のクエリ を参照してください。

  • テーブルまたはサーチインデックス用に作成されたマッピングテーブルが不要になった場合、DROP MAPPING TABLE ステートメントを実行してマッピングテーブルを削除できます。詳細については、マッピングテーブルの削除 を参照してください。

  • テーブルのインデックス情報を表示する場合、SHOW INDEX ステートメントを実行できます。詳細については、テーブルのインデックス情報のクエリ を参照してください。

  • 現在のデータベース内のマッピングテーブルの名前を一覧表示する場合、SHOW TABLES ステートメントを実行できます。詳細については、マッピングテーブルの名前のクエリ を参照してください。

  • MaxCompute、Spark、Hive、HadoopMR、Function Compute、Flink、PrestoDB などの計算エンジンを使用して、テーブル内のデータの計算と分析を行うこともできます。詳細については、概要 を参照してください。