全部产品
Search
文档中心

表格存储:全匹配查询

更新时间:Sep 18, 2026

全匹配查询(MatchAllQuery)可以匹配所有行,常用于查询表中数据总行数,或者随机返回几条数据。

接口

全匹配查询的接口为Search或者ParallelScan,具体的Query类型为MatchAllQuery。

参数

参数

说明

query

设置查询类型为MatchAllQuery。

tableName

数据表名称。

indexName

多元索引名称。

limit

本次查询需要返回的最大数量。

如果要随机获取几行数据,请设置limit为正整数。

如果只为了获取行数,无需具体数据,可以设置limit=0,即不返回任意一行数据。

columnsToGet

是否返回所有列,包含returnAll和columns设置。

returnAll默认为false,表示不返回所有列,此时可以通过columns指定返回的列;如果未通过columns指定返回的列,则只返回主键列。

当设置returnAll为true时,表示返回所有列。

getTotalCount

是否返回匹配的总行数,默认为false,表示不返回。

返回匹配的总行数会影响查询性能。

使用方式

您可以使用命令行工具或者SDK进行全匹配查询。进行全匹配查询之前,您需要完成如下准备工作。

使用命令行工具

通过命令行工具执行search命令使用多元索引查询数据。更多信息,请参见多元索引。

  1. 执行search命令使用search_index多元索引查询表中数据,并返回所有建立索引的列。

    search -n search_index --return_all_indexed
  2. 根据系统提示输入查询条件,示例如下:

    {
        "Offset": -1,
        "Limit": 10,
        "Collapse": null,
        "Sort": null,
        "GetTotalCount": true,
        "Token": null,
        "Query": {
            "Name": "MatchAllQuery",
            "Query": {
            }
        }
    }

使用SDK

您可以通过Java SDK、Go SDK、Python SDK、Node.js SDK、.NET SDK和PHP SDK使用全匹配查询。此处以Java SDK为例介绍全匹配查询的使用。

以下示例匹配多元索引中的所有行,返回最多 10 行数据及匹配总行数。

String tableName = "example_table";
String indexName = "example_index";

SearchQuery searchQuery = new SearchQuery();
searchQuery.setQuery(new MatchAllQuery());
searchQuery.setLimit(10);
searchQuery.setTrackTotalCount(SearchQuery.TRACK_TOTAL_COUNT);

SearchRequest request = new SearchRequest(tableName, indexName, searchQuery);
SearchRequest.ColumnsToGet columnsToGet = new SearchRequest.ColumnsToGet();
columnsToGet.setReturnAll(true);
request.setColumnsToGet(columnsToGet);

SearchResponse response = client.search(request);
System.out.println(response.getTotalCount());
System.out.println(response.getRows());

计费说明

使用多元索引查询数据时会消耗读吞吐量。更多信息,请参见多元索引计量计费。

常见问题

如何查看表的总行数

相关文档