全部產品
Search
文件中心

:全匹配查詢

更新時間:Jul 19, 2024

全匹配查詢(MatchAllQuery)可以匹配所有行,常用於查詢表中資料總行數,或者隨機返回幾條資料。

前提條件

參數

參數

說明

Query

設定查詢類型為MatchAllQuery。

TableName

資料表名稱。

IndexName

多元索引名稱。

Limit

本次查詢需要返回的最大數量。

如果只為了擷取行數,無需擷取具體資料,可以設定Limit=0,即不返回任意一行資料。

GetTotalCount

是否返回匹配的總行數,預設為false,表示不返回。

返回匹配的總行數會影響查詢效能。

ColumnsToGet

是否返回所有列。包含ReturnAll和Columns以及ReturnAllFromIndex設定。

ReturnAll預設為false,表示不返回所有列。此時可以通過如下任一設定返回所需列。如果未設定Columns和ReturnAllFromIndex,則只返回主鍵列。

  • 設定Columns指定返回的列。

  • 設定ReturnAllFromIndex為true返回多元索引中的所有列。

當設定ReturnAll為true時,表示返回所有列。

樣本

以下樣本用於查詢表中資料的總行數。

/// <summary>
/// 通過MatchAllQuery查詢表中資料的總行數。
/// </summary>
/// <param name="otsClient"></param>
public static void MatchAllQuery(OTSClient otsClient)
{
    var searchQuery = new SearchQuery();
    searchQuery.Query = new MatchAllQuery();
    searchQuery.GetTotalCount = true; //設定GetTotalCount = true時,才會返回滿足條件的資料總行數。
    /*
    * MatchAllQuery結果中的Totalcount可以表示資料的總行數。
    * 如果只為了擷取行數,但不需要具體資料,可以設定limit=0,即不返回任意一行資料。
    */
    searchQuery.Limit = 0;
    var request = new SearchRequest(TableName, IndexName, searchQuery);

    var response = otsClient.Search(request);
    //判斷返回的結果是否完整,當isAllSuccess為false時,表示可能存在部分節點查詢失敗,返回的是部分資料。
    Console.WriteLine("IsAllSuccess:" + response.IsAllSuccess);
    Console.WriteLine("Total Count:" + response.TotalCount);
}

常見問題

如何查看錶的總行數

相關文檔