调用SQLQuery接口使用SQL查询数据。
请求消息结构
message SQLQueryRequest {
required string query = 1;
optional SQLPayloadVersion version = 2;
optional int64 sql_version = 3;
}
名称 | 类型 | 是否必选 | 描述 |
query | string | 是 | SQL语句。 |
version | 否 | SQL返回数据的编码方式。 | |
sql_version | int64 | 否 | SQL协议版本,取值范围如下:
|
响应消息结构
message SQLQueryResponse {
repeated TableConsumedCapacity consumes = 1;
optional bytes rows = 2;
optional SQLPayloadVersion version = 3;
optional SQLStatementType type = 4;
}
名称 | 类型 | 是否必选 | 描述 |
consumes | repeated TableConsumedCapacity | 是 | 本次操作消耗的服务能力单元。更多信息,请参见服务能力单元消耗。 |
rows | bytes | 否 | 返回的行数据,由请求中指定的编码方式进行编码。 |
version | 是 | SQL返回数据的编码方式。 | |
type | 是 | SQL语句类型。 |
使用SDK
服务能力单元消耗
SQL本身不会有额外的费用,但是使用SQL查询数据过程中涉及到的表扫描、索引查询等操作会产生费用。
单条SQL读吞吐量是执行该SQL时调用表与索引所产生的读吞吐量总和。消耗读服务能力单元的数值为指定行所有主键列数据大小与实际读取的属性列数据大小之和除以4 KB向上取整。
如果请求超时,结果未定义,则服务能力单元有可能被消耗,也可能未被消耗。
如果返回内部错误(HTTP状态码:5XX),则此次操作不消耗服务能力单元,其他错误情况消耗1读服务能力单元。